Only this pageAll pages
Powered by GitBook
Couldn't generate the PDF for 140 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

Français

Loading...

ITCare

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

ITCare API

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Services

Loading...

Loading...

Loading...

Loading...

Analytique

Loading...

Loading...

Loading...

Calcul

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Bases de données

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

API Reference

Compute

Changes

Documentation

Bienvenue dans la documentation publique de cegedim.cloud, un partenaire de confiance pour l'hébergement de clouds privés !

Débuter avec cegedim.cloud

Apprenez les principes fondamentaux et commencez à construire avec cegedim.cloud. Trouvez le produit qui répond à vos besoins pour vous aider à lancer votre prochaine application et maitrisez ITCare, la plateforme de gestion cloud de cegedim.cloud.

Démos

Afin de vous aider à appréhender et maitriser chaque aspect de la plateforme ITCare, nous proposons un ensemble de démos interactives spécifiques à des fonctionnalités disponible dans notre Cloud Management Platform.

Ressources

Gérer une ressource

Différentes actions sont possibles pour gérer les ressources sur notre plateforme ITCare. Nous vous les présentons ci-dessous !

Filtres dynamiques

En fonction des ressources sélectionnées dans la fenêtre de filtrage, des filtres dynamiques seront désormais disponibles pour afficher plus efficacement ce qui vous intéresse.

Notifications

Vos notifications sont configurables et personnalisables via des abonnements. Nous vous montrons cela ci-dessous !

Créer un abonnement

La première étape incontournable : créer un abonnement selon vos critères personnalisés.

Gérer les abonnements

Maintenant que vous savez comment créer un abonnement, voyons comment le gérer.

Gérer les groupes de diffusion

Les abonnements tirent partie de groupes de diffusions. Nous vous montrons comment les gérer.

Superviser les notifications

Lorsque vos notifications sont paramétrées, il est essentiel de savoir comment les superviser.

ITCare, c'est quoi ?

Qu'est-ce que ITCare ?

ITCare est la plateforme de gestion Cloud de cegedim.cloud.

Elle intègre une interface d'administration web et une API qui offrent une vue à 360° de vos ressources Cloud hébergées et gérées par cegedim.cloud.

Conçue comme un service web unifié, elle régit les points clés suivants :

Quick start

Vous pouvez explorer les spécifications de l'API et utiliser la fonctionnalité Test it afin d'exécuter et de tester les points de terminaison.

Deux types d'authentifications sont disponibles : Bearer ou Oauth.

Lorsque vous utilisez l'option Test it en Oauth, veuillez :

  • Sélectionner les scopes : openid et email

Matomo

Application Servers

Environments

Resource Types

Statuses

Saisir le clientId : cgdm-itcare-api-academy.

Pour utiliser l'option Bearer, veuiller consulter la section Authentication.

Notes :

  • Les paramètres Cookies, Headers sont optionels.

  • L'affichage de la fenêtre suite au clique sur Test it peut prendre quelques secondes.

Produits

Retrouvez la liste complète des produits disponibles dans notre catalogue avec leurs caractéristiques, les guides d'utilisation, les tutoriels et plus encore.

Plateforme de gestion cloud

ITCare est la pierre angulaire de nos services et permet à nos clients de disposer de produits managés et interactifs en libre-service.

Notes de mises à jour

Parcourez nos notes de mises à jour avec nos nouveaux produits, les nouvelles fonctionnalités, les améliorations et les corrections de bugs.

Cover
Cover
Cover

Hardwares

Operations

Storage

Networking

Databases

Analytics

Windows - Renforcement

Pagination

Certaines méthodes renvoient des résultats paginés. Le formatage d'un résultat paginé presente la structure suivante :

{
    "content": [
        ...
    ],
    "totalElements": ...,
    "last": false,
    "totalPages": ...,
    "sort": {
        "empty": true,
        "sorted": false,
        "unsorted": true
    },
    "first": true,
    "size": ...,
    "number": ...,
    "numberOfElements": ...,
    "empty": false
}

Les valeurs page et size peuvent être ajoutées aux paramètres de la requête afin d'obtenir la page suivante ou précédente.

Example

Pour obtenir les 50 premiers éléments d'une requête GET pour un endpoint paginé : https://api.cegedim.cloud/foo/bar?page=1&size=50

Gestion des ressources Cloud : déployer et administrer vos ressources
  • Supervision : surveiller la santé et la performance de vos applications, être notifié en cas d'incident

  • Support : contactez nos équipes de support pour toute question ou incident

  • Gouvernance : consultez les rapports de sécurité et d'obsolescence, gérez les créneaux de maintenance

  • Intégration : intégrez vos processus d'entreprise à votre cloud via l'API ITCare

  • Vous pouvez accéder à ITCare à partir de n'importe quelle page de ce site web en utilisant le lien ITCare dans l'en-tête.

    Comment puis-je accéder à ITCare ?

    La page Débuter avec ITCare explique en détail comment accéder à ITCare, avec des informations sur l'authentification et les autorisations.

    ITCare dispose-t-il d'une API ?

    Toutes les informations nécessaires à la découverte et à la bonne utilisation de l'API ITCare sont disponibles dans la section ITCare API du menu principal.

    Comment joindre le support de cegedim.cloud par téléphone ?

    Si vous êtes client, vous pouvez joindre notre Service Desk via cette ligne téléphonique directe pour toute demande de support : +33 (0)1 49 09 22 22

    Comment joindre le support de cegedim.cloud par e-mail ?

    Pour toute demande d'information ou de contact, vous pouvez utiliser ce formulaire :

    Enercare

    cegedim.cloud fournit dans ITCare une rubrique dédiée à son empreinte carbone.

    Cette rubrique permet d'identifier l'impact environnemental des applications de façon détaillée, en affichant à la fois l'émission de CO2 des Services Globaux ainsi que celle des instances associées.

    Le calcul de l'empreinte carbone fait partie intégrante du projet Enercare, en se basant sur la répartition de la consommation énergétique des services. Elle prend en compte les équipements IT (serveurs, baies de stockage, réseaux ...) mais également tous les éléments nécessaires à leur bon fonctionnement (climatisation, groupes électrogènes, onduleurs ...). Ces derniers sont associés à l'indicateur de performance énergétique par datacenters calculé par le Power Usage Effectiveness (PUE).

    Le périmètre inclut les Datacenters propres à Cegedim ainsi que ceux en colocation.

    Principe

    cegedim.cloud a travaillé sur des outils internes et une méthodologie pour répartir les consommations des services utilisant des instances mutualisées. Etant en démarche d’amélioration continue, elle sera amenée à évoluer avec la fiabilisation et la précision des données remontées.

    Le calcul de l’empreinte carbone de nos services cloud suit les règles du . Nous incluons les éléments suivants dans la fonctionnalité Enercare :

    • Les émissions directes du scope 1 des datacenters : combustions fossiles des groupes électrogènes, émissions fugitives liées aux fluides frigorigènes des systèmes de refroidissement.

    • Les émissions indirectes du scope 2 : consommation d’électricité des équipements, incluant le PUE.

    • Les émissions indirectes du scope 3 : émissions amont liées aux combustibles et à la production d’électricité, produits et services achetés pour le fonctionnement de nos services, tenant compte de leur fabrication à leur fin de vie, déplacements des collaborateurs.

    Les données retranscrites dans Enercare correspondent aux activités de cegedim.cloud, indépendamment de celles des autres filiales et du groupe Cegedim. Le bilan carbone étant réalisé et audité annuellement, nous ne pouvons pas corréler en temps réel les coefficients de calcul à l’utilisation des services.

    La section Règles de Calcul ci-dessous explicite la collecte de la consommation énergétique des équipements physiques et la méthode de calcul de l'empreinte carbone pour les services et instances.

    Pour en savoir plus sur les actions de diminution de l’impact environnemental entreprises par cegedim.cloud, vous pouvez consulter la de notre site internet.

    Changes

    Services

    Databases

    Glusterfs

    Tag Values

    Topology

    Apache Kafka

    Tag Keys

    Hardwares

    Backup Policies

    Operations

    SQL Server

    RabbitMQ

    Types

    Message Brokers

    Platform

    Resources

    Resource Filters

    Networks

    Domains

    Overdrive

    Empreinte carbone

    Catégories d'équipement et calcul des émissions de CO2

    Catégories d'équipement

    Un Datacenter utilise trois grandes catégories d'équipement :

    Instances

    Actions

    OpenSearch

    Redis

    Linux - Renforcement

    Les distributions Linux suivantes peuvent être durcies lors de leur provisionnement :

    • Debian à partir de la version 11 et 12

    • Ubuntu à partir de la version 22.04 et 24.04

    • Oracle Linux à partir de la version 9

    Network Clusters

    MariaDB

    Containers

    MariaDB - Didacticiels

    Demander un replica MariaDB en lecture seule

    Pour demander l'ajout d'une réplique en lecture seule de MariaDB, il est nécessaire de créer un ticket requête via ITCare.

    Dans la section Support du menu latéral gauche, cliquer sur le bouton Formuler une demande.

    Dans la catégorie Base de données puis MariaDB, sélectionner et remplir le formulaire : Mise en place d'une réplication passive MariaDB

    Un ticket d'assistance sera créé à la soumission.

    Les équipements de type Compute (serveurs ESX à base de processeur X86, serveurs IBM à base de processeur Power, etc.), ce sont ces équipements qui hébergent les différentes instances.

  • Les équipements de type Storage (baies de stockage de données, baies de stockage objets, baies de sauvegarde et archivage des données).

  • Les équipements de type Network (switch réseaux, Firewall, BigIP, etc.), qui permettent les échanges de flux internes et externes entre services et instances.

  • NB : Ces trois catégories sont elles-mêmes constituées de sous-catégories permettant de calculer plus finement les répartitions des émissions de CO2 par instance utilisateur. Pour des raisons de simplification, ces sous-catégories ne seront pas prises en compte dans la méthode de calcul explicitée ci-dessous.

  • Collecte de la consommation énergétique

    La consommation énergétique de chaque équipement est collectée chaque minute (puissance instantanée exprimée en Watt) et stockée dans une base de données (base Clef-valeur MIMIR).

    En complément, nous collectons les éléments suivants qui permettront de calculer l'émission de CO2 associée :

    • Le PUE (efficacité), calculé quotidiennement sur les Datacenters que nous exploitons, et mensuellement pour les Datacenters en colocation.

    • Les facteurs d'émission de CO2 (en kgCO2e/kWh), dont les valeurs sont actualisées chaque année, sur la base des données ADEME et fournisseurs.

    Calcul de l'émission de CO2 des équipements

    L'émission de CO2 d'un équipement est calculée à la journée :

    • Transformation de la consommation instantanée en kWh/jour depuis les données collectées dans la base de données Clef-valeur.

    • Application du PUE du Datacenter :

      • Si un équipement consomme 1000 kWh/jour et que le PUE du datacenter est de 1.3, la consommation réelle de l'équipement sera de 1300 kWh.

    • Conversion des kWh/jour en CO2 (kg) avec le facteur d'émission de CO2 du fournisseur :

      • Si 80% de l'énergie du Datacenter provient d'un fournisseur qui émet 0.008 kg de CO2 par kWh et les 20% restant d'un groupe second fournisseur qui émet 0.01 kg de CO2 par kWh, alors l'émission de l'équipement sera de : 1300 * 0.008 * (80 / 100) + 1300 * 0.01 * (20 / 100) , soit 10,92 kg de CO2 par jour.

    Calcul de l'émission de CO2 d'un Service Global

    Rappel

    Un Service Global est le regroupement logique de ressources (principalement des Instances) qui utilisent les ressources des différentes catégories d'équipement physique (Compute, Storage et Network). L'empreinte carbone d'un Service Global sera donc la somme de l'émission de CO2 de ses ressources.

    Red Hat Enterprise Linux 9

    Les recommandations des documents de référence du CIS ont été suivies afin de renforcer et sécuriser nos systèmes d'exploitation Linux.

    Systèmes de fichiers

    • Certains systèmes de fichiers faibles sont désactivés dans le noyau

    • Points de montage séparés pour les systèmes de fichiers très actifs : /var/log, /var/log/audit, /var/tmp

    • Protection des points de montage /var/log, /tmp et /var/tmp

    • Désactivation du stockage amovible

    Démarrage sécurisé

    • S'assurer que le mot de passe root est requis pour démarrer en mode de secours

    Utilisation de Sudo

    • Traçage de chaque utilisation de la commande sudo

    Durcissement des processus

    • Plusieurs paramètres sont activés dans le noyau pour protéger les processus en cours d'exécution

    Réseau

    • Les services réseau inutiles ou faibles sont désactivés (appliqué par le gestionnaire de configuration)

    • Le service de gestion du temps est configuré et actif

    • IPV6 est désactivé

    • Plusieurs paramètres du noyau sont définis pour protéger le réseau

    • Désactiver les protocoles réseau peu courants

    Journalisation

    • Centralisation des journaux du système

    • S'assurer que chaque événement est enregistré

    Accès et authentification

    • S'assurer que le service cron est actif et configuré

    • S'assurer que les répertoires cron sont protégés

    • S'assurer que ssh est actif et configuré

    • Forcer les protocoles et paramètres sécurisés de ssh

    • S'assurer de la désactivation des sessions inactives

    • S'assurer que les règles de mot de passe fort sont appliquées

    • S'assurer que les fichiers d'authentification sensibles sont protégés

    Veuillez prévoir jusqu'à 10 jours ouvrables pour le traitement de votre demande.

    GHG Protocol
    page RSE

    Topology

    Errors

    L'API ITCare utilise les codes de réponse HTTP conventionnels pour indiquer le succès ou l'échec d'une demande API.

    En règle générale :

    • Les codes 2xx indiquent un succès.

    • Les codes 4xx indiquent des paramètres incorrects ou incomplets (par exemple, un paramètre requis a été omis, ou une opération a échoué avec une tierce partie, etc.)

    • Les codes de l'ordre de 5xx indiquent une erreur avec les serveurs d'ITCare.

    Ce tableau présente d'autres exemples de codes de réponse HTTP.

    Code
    Description
    Réponse

    ITCare produit également un message d'erreur et un code d'erreur formaté en JSON :

    PostgreSQL

    Load Balancers

    Authentication

    Comment s'authentifier auprès de l'API ITCare ?

    L'API ITCare utilise le protocole OAuth 2.0 pour l'authentification et les autorisations. Elle supporte les scénarios OAuth 2.0 habituels tels que ceux utilisés pour les serveurs web et les applications clientes. Cela signifie que chaque requête API doit contenir un header "Authorization" embarquant un token d'accès précédemment obtenu grâce à des identifiants.

    curl -X GET "https://itcare.cegedim.cloud/itcare/{api-definition}/{api-endpoint}" -H "Authorization: Bearer {token}"

    Comment obtenir un compte API ?

    Pour interroger l'API ITCare, un compte API est requis afin de pouvoir obtenir le token d'accès obligatoire. Pour obtenir ce compte API, une requête doit être soumise aux équipes support cegedim.cloud en fournissant les informations suivantes :

    • L'organisation cible

    • Une description simple de l'usage cible de l'API

    Comment obtenir un token d'accès ?

    Pour obtenir un token d'accès, le client doit soumettre une requête au endpoint . Le serveur d'autorisation exige l'authentification (base64-encodé) du client pour délivrer un access_token. Voici un exemple de demande d'access_token :

    En général, on peut utiliser la commande base64 pour encoder une chaîne de caractères. L'utilisation d'outils en ligne de commande sous Linux, par exemple :

    Si la demande d'access_token est autorisée et valide, voici un exemple de réponse :

    Lorsque le token expire, il est possible de :

    • Demander un nouvel access_token

    • Rafraîchir le token en interrogeant le endpoint /token

    Politique de patch

    Comment cegedim.cloud gère le patching des serveurs ?

    Qu'est-ce qu'une Patch Party ?

    cegedim.cloud s'assure que tous les serveurs sont patchés lors d'événements appelés Patch Party. Ces événements ont lieu tous les trimestres un dimanche, soit 4 fois par an.

    Lors d'une Patch Party, les patchs sont installés sur tous les serveurs non exclus de l'événement puis suivis d'un redémarrage.

    Les services seront interrompus pendant une Patch Party !

    Quel est le calendrier ?

    Les Patch Parties ont lieu tous les trimestres, soit 4 fois par an. Deux Patch Parties sont programmées chaque trimestre :

    • Patch Party de QA : elle a lieu en premier pendant les heures ouvrées, le jeudi, et ne concerne que les environnements de non-production.

    • Patch Party de Production : elle a lieu 3 semaines après la Patch Party de QA, le dimanche, et ne s'applique qu'aux environnements de production.

    Les événements Patch Party sont disponibles dans le calendrier de notre outil de gestion de plateforme cloud ITCare.

    Que puis-je faire ?

    Consulter les informations sur les correctifs

    Sur chaque page de détails d'une ressource, un panneau intitulé Patch status vous permet de consulter les informations suivantes :

    • La dernière fois que la ressource a été mise à jour avec succès

      • Le timestamp de la mise à jour

      • Le tag du correctif de la mise à jour avec ce format : YYYY-QQ (par exemple 2022-Q4)

    Inclure ou exclure

    Sur chaque page de détails d'une ressource, un bouton Patch Party vous permet d'inclure ou d'exclure définitivement la ressource des Patch Party.

    L'exclusion d'une ressource doit être motivée par une raison. Inclure vous permet de sélectionner le Patch Group qui affectera le moment où votre ressource sera effectivement mise à jour au cours de la journée de correctifs.

    Modifier le groupe de correctifs

    Dans le même bouton Patch Party que celui décrit ci-dessus, vous pouvez changer le Patch Group souhaité à tout moment.

    3 groupes de patches sont disponibles pour diviser vos ressources. Chaque groupe sera traité à des moments différents.

    Ceci est utile si vous ne voulez pas que plusieurs ressources soient patchées (et interrompues) en même temps, améliorant ainsi la résilience de votre application.

    Des produits PaaS en topologie cluster auront déjà des assignations de Patch group optimisés pour garantir la disponibilité du cluster pendant les Patch parties.

    Matomo

    Description

    Matomo (anciennement appelé Piwik) est un logiciel de mesure open source qui fournit des statistiques de données sur l'utilisation d'une page web, telles que les visites, les pages vues, l'origine des visites et bien plus encore.

    Matomo offre la possibilité d'avoir une analyse complète sur certains aspects de vos sites web avec des informations concernant : vos visiteurs, leur comportement, leurs habitudes et plus encore.

    Pourquoi Matomo ?

    Matomo est un excellent substitut à Google Analytics pour les raisons suivantes :

    • Pleine propriété des données

    • Protection de la vie privée

    • Pas d'échantillonnage de données

    • Conformité RGPD (recommandé par la CNIL)

    Plateforme en tant que Service

    Matomo est déployé sur site dans les centres de données de cegedim.cloud et est fourni en tant que service.

    cegedim.cloud garantit le niveau de service managé suivant : le déploiement des instances, le maintien en condition opérationnelle, la flexibilité, la sécurité et le monitoring sont ainsi assurés par nos experts.

    Instance

    Pour plus d'information, veuillez consulter la page .

    Facturation

    La facturation est mensuelle et varie en fonction de la taille choisie. Veuillez contacter votre Service Delivery Manager pour plus d'informations concernant la tarification.

    La prochaine Patch Party programmée si la ressource n'est pas exclue
  • La personne qui a exclu la ressource et la date si la ressource est exclue

  • 401

    Accès non autorisé à la ressource

    Vide

    403

    Accès non autorisé

    Vide

    404

    Ressource non existante

    Vide

    409

    Conflit

    Vide

    422

    Donnée incohérente

    Vide

    500

    Erreur fatale de l'API

    Vide

    503

    Service temporairement indisponible

    Vide

    200

    Demande traitée avec succès

    Varie en fonction de la demande

    201

    Objet créé avec succès

    Objet créé

    202

    Ordre de création de l'objet traité avec succès, la demande sera traitée de manière asynchrone

    Objet vide ou objet de suivi décrivant le traitement de la demande asynchrone

    400

    Mauvaise requête - Erreur de syntaxe ou de cohérence dans la requête. Doit être corrigée par l'émetteur

    Blanc ou indication de l'erreur à corriger du côté du client

    /token
    
    {
        "status": "BAD_REQUEST",
        "errorCode": "INVALID_FIELD_VALUE",
        "errorDesc": "name",
        "errorMessage": "Error on field 'name'
    }
    
    
    curl -X POST "https://accounts.cegedim.cloud/auth/realms/cloud/protocol/openid-connect/token" \
    -H "Authorization: Basic $(echo -n 'CLIENT_ID:CLIENT_SECRET' | base64)" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d "grant_type=client_credentials"
    
    $echo -n 'CLIENT_ID:CLIENT_SECRET' | base64
    (donne la base64 du couple CLIENT_ID:CLIENT_SECRET)
    {
       "access_token":"...",
       "expires_in":1200,
       "refresh_expires_in":7200,
       "refresh_token":"...",
       "token_type":"bearer"
    }
    curl -X POST "https://accounts.cegedim.cloud/auth/realms/cloud/protocol/openid-connect/token" \
    -H "Authorization: Basic $(echo -n 'CLIENT_ID:CLIENT_SECRET' | base64)" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d "grant_type=client_credentials&refresh_token=****************"

    Flexibilité (portabilité des données, accès brut, open source, etc...)

    Choix de la région

    ✅

    Libre-service

    ✅

    Dimensions

    • XS

    • S

    • M

    • L

    • XL

    Surveillance

    ✅ Option

    Surveillance 24x7

    ✅ Option

    Sauvegarde

    ✅ Option

    Réplication de données (PRA)

    ✅ Option

    Disponibilité

    99,8%

    Matomo - Architecture

    Politique de support

    Comment cegedim.cloud supporte-t-il ses produits managés ?

    Politique de support des produits

    Les offres managées de cegedim.cloud incluent du support. Ce support se découpe en 4 phases :

    • Phase standard : cegedim.cloud offre un support complet du produit.

    • Phase fin de vente : phase secondaire indiquant qu'une nouvelle version a été élue en phase de support Standard. Il est fortement conseillé d'effectuer une migration vers une version plus récente.

    • Phase support étendu : troisième phase qui débute à la date de fin de vie (EOL) annoncée par l'éditeur pour le produit. Cela signifie que plusieurs services ne sont plus garantis et passent en meilleurs efforts.

    • Phase fin de Support : phase terminale activée quand cegedim.cloud n'est plus en mesure de fournir du support. Des frais peuvent s'appliquer si le système est considéré comme un risque pour la sécurité (violation, compromission des données, nécessité d'isolation).

    Voici un listing détaillé des fonctionnalités selon les phases de support :

    Description
    Standard
    Fin de vente
    Support étendu
    Fin de support

    Comment formuler une demande ?

    Depuis de notre gestionnaire de plateforme cloud ITCare, vous pouvez créer un ticket de demande d'assistance.

    Depuis la page d'accueil ou bien depuis la section Support dans le menu latéral gauche, cliquez sur le bouton Formuler une demande.

    Recherchez d'abord le formulaire correspondant au produit pour lequel vous avez besoin d'aide en tapant le nom du produit dans la barre de recherche. Sélectionnez le formulaire et fournissez les informations requises.

    Un ticket d'assistance sera créé lors de la soumission.

    Veuillez prévoir jusqu'à 7 jours ouvrables pour le traitement de votre demande.

    Comment déclarer un incident ?

    Les ressources gérées sont surveillées par cegedim.cloud si la surveillance a été activée.

    Cependant, un formulaire d'incident est disponible dans notre gestionnaire de plateforme cloud ITCare si vous avez besoin de nous faire part d'un problème que nous aurions manqué.

    Depuis la page d'accueil ou la section Support du menu latéral gauche, cliquez sur le bouton Déclarer un incident.

    Pour mieux traiter votre incident, un niveau de gravité est requis :

    • Pas d'impact

    • Dégradation

    • Interruption de service

    Recherchez le formulaire approprié en recherchant le nom du produit avec lequel vous avez un problème, puis fournissez les informations requises.

    Un ticket d'incident sera créé et notre équipe de support vous contactera dès que possible.

    Hardening

    Contexte et motivation

    Kubernetes dispose de fonctionnalités et de mécanismes intégrés pour maintenir en bonne santé les nœuds et les workoads kubernetes :

    • kube-scheduler décide sur quels nœuds placer les pods en fonction des ressources demandées par les pods et des ressources non réservées des nœuds.

    • kubelet Out-Of-Memory tue les pods qui consomment plus de ressources que les valeurs limitées définies dans la spécification (OOM killed).

    • Pour quelque raison que ce soit, si le nœud est à court de ressources, kubelet expulse les pods afin d'alléger la pression sur les nœuds (éviction des pods). La décision d'éviction des pods est basée sur la qualité de service des pods.

    Gardez à l'esprit que cegedim.cloud fournit des clusters Kubernetes standard avec ces fonctionnalités et a qualifié les documentations officielles de Kubernetes ci-dessous :

    Le problème se situe au niveau de l'application dans la vie réelle :

    • toutes les technologies ne sont pas nativement compatibles avec les conteneurs

    • les mesures d'utilisation des ressources collectées par le kubelet (ou l'exportateur de nœuds, etc.) ne sont pas en temps réel

    • les mesures d'utilisation des ressources ne sont pas prises en compte par le planificateur kube

    • kubelet, en tant que processus Linux, n'est pas toujours le processus le plus prioritaire, en particulier lorsque les nœuds n'ont plus de CPU.

    L'incapacité à gérer les contraintes de ressources sur les nœuds par kubelet conduit à des défaillances de nœuds et au redéploiement de toutes les charges de travail correspondantes. Dans le pire des cas, un effet domino sur la défaillance des nœuds peut se produire.

    La solution cegedim.cloud

    cegedim.cloud fournit une solution de hardening appelée cgdm-hardening :

    • Un esclave de hardening de pods par nœuds de travail : écrit la consommation de CPU et de RAM dans une base de données centralisée.

    • Un pod de hardening-maître déployé sur les nœuds maîtres : il lit les métriques dans la base de données et prend des mesures en cas de crise.

    • L'empreinte de la pile de hardening sur les ressources est très faible

    Le pod Hardening-master peut agir selon deux modes :

    • Mode préventif (en tant qu'assistant du planificateur kube, mode par défaut) :

      • Place le taint cegedim.io/overload=true:NoSchedule pour éviter de placer plus de pods sur des nœuds sous pression (85% RAM ou 90% CPU). Lorsque le CPU est inférieur à 85% et que la RAM est inférieure à 80%, l'altération est supprimée.

    • Mode de protection (en tant qu'assistant du contrôleur de kube) :

    Vous ne devez jamais utiliser la wildcard tolérance dans les applications, sinon l'effet préventif de cette solution ne sera pas valable.

    Limitation : cette solution ne permet pas de protéger les nœuds qui tombent en panne en raison d'un pic d'utilisation extrêmement élevé du CPU pendant une période de temps très courte.

    Comment désactiver / activer le hardening

    Le nouveau cluster Kubernetes sera provisionné avec le hardeing préventif activé.

    Si les charges de travail déployées par les clients entraînent un grand nombre de défaillances de nœuds (TLS_K8_NODES), le mode de protection sera activé.

    Le client peut désactiver ce hardening en créant un ticket requête dans ITCare.

    Par conséquent, la vérification TLS_K8_NODES de centreon au niveau du cluster et la vérification de l'état de santé de centreon sur les nœuds de travail seront désactivées.

    Cela signifie que les clients doivent redémarrer eux-mêmes les nœuds en cas de crise.

    Le client peut réactiver ce hardening en faisant un ticket requête ITCare à tout moment.

    OpenSearch

    OpenSearch managé

    Description

    OpenSearch est une suite de recherche et d'analyse open source pilotée par la communauté et dérivée d'Elasticsearch 7.10.2 & Kibana 7.10.2 sous licence Apache 2.0.

    Il se compose d'un démon de moteur de recherche, OpenSearch, et d'une interface de visualisation et d'utilisation, OpenSearch Dashboards. Il permet d'ingérer, de sécuriser, de rechercher, d'agréger, de visualiser et d'analyser facilement les données.

    Ces capacités sont populaires pour des cas d'utilisation tels que la recherche d'applications, l'analyse des journaux, etc.

    Plateforme en tant que Service

    Les serveurs OpenSearch Cluster et la configuration des services sont gérés par cegedim.cloud. Le produit est disponible en libre-service dans ITCare.

    Les utilisateurs ont un accès complet à la base de données et aux tableaux de bord d'OpenSearch. Il est de la responsabilité des utilisateurs de gérer la sécurité des index et de leur cycle de vie.

    OpenSearch est déployé en tant que cluster sur site dans nos centres de données.

    Le même niveau de service que l'offre Compute est garanti : déploiement d'instances, maintien en condition opérationnelle, flexibilité, sécurité et monitoring sont ainsi assurés par nos experts.

    Le dimensionnement peut être configuré en fonction de vos besoins.

    Le nombre minimum de nœuds pour un cluster est de 3 serveurs mais n'est pas recommandé pour la production. Il est conseillé de déployer au moins 5 nœuds ou plus pour une utilisation en production.

    Cluster

    Pour plus d'information, veuillez consulter la page .

    Facturation

    La facturation est mensuelle et basée sur le nombre de nœuds, plus des coûts supplémentaires pour le stockage, la sauvegarde et la surveillance 24/7.

    L'estimation du coût d'un cluster OpenSearch est disponible auprès de votre Responsable de compte Technique.

    Redis - Mise à jour

    Processus de mise à niveau

    Requête

    La mise à jour d'un PaaS Redis est de la responsabilité de cegedim.cloud et peut être demandée via un ticket soumis depuis ITCare.

    Merci de préciser un créneau de disponibilité pour l'opération et si l'opération doit être effectuée en heures non ouvrées.

    Il est recommandé de procéder à la mise à jour de vos environnements de non production d'abord afin de pouvoir estimer le temps d'interruption généré par l'opération ainsi que de recetter vos applications dans la nouvelle version du moteur.

    Déroulement

    La mise à jour d'un déploiement Redis (mono-instance ou cluster en haute disponibilité) se déroule en deux étapes complètement automatisées :

    • Mise à jour du système d'exploitation préalable

      • Plusieurs mises à jour selon le scénario: Debian 10 → Debian 11 → Debian 12

    • Mise à jour du moteur Redis et Sentinel dans la version cible

    Selon les versions source et cible de Redis, il peut être nécessaire de migrer d'abord le système d'exploitation vers une version prise en charge par cegedim.cloud (pour plus d'informations, consultez la matrice de prise en charge OS/Redis ci-dessous).

    Impacts

    La durée d'une mise à jour est variable selon:

    • La topologie

      • Topologie Standalone: Redis sera mise à jour.

      • Topologie Sentinel: Redis et Sentinel seront mis à jour sur chaque noeuds.

    • Le nombre de mise à jour du système d'exploitation nécessaire

    Temps de référence

    • Mise à jour du système d'exploitation Debian: 10 minutes en moyenne

    • Mise à jour des paquets Redis: 5 minutes en moyenne

    • Mise à jour des paquets Sentinel: 5 minutes en moyenne

    Matrice de support OS / Redis

    Distribution Linux supportées par cegedim.cloud en fonction de la version de Redis:

    Redis version
    Debian version

    La mise à jour du système d'exploitation est requise uniquement si le PaaS Redis 6.2 a été provisionné avant le 31 2024. Après cette date, le Paas Redis a été mis à jour afin d'être déployé sur du Debian 12.

    Overview

    Débuter avec l'API ITCare ?

    L'API REST ITCare respecte les spécifications standard OpenAPI. La documentation en ligne est disponible à cette adresse :

    Exemple:

    Matomo - Didacticiels

    Créer une instance Matomo

    Connectez-vous à la plateforme ITCare, cliquez sur le bouton Statistiques dans le menu principal à gauche. Cliquez sur "Créer une instance Matomo" et suivez les instructions.

    Indiquez le service global dans lequel vous souhaitez créer une instance Matomo.

    Donnez le nom de l'instance que vous voulez créer. Un nom de site web et une URL par défaut peuvent être configurés pendant le provisionnement. Ils sont facultatifs. S'ils sont laissés vides, des valeurs fictives seront utilisées. Cliquez sur Suivant.

    Conteneurs (K8s)

    Description

    cegedim.cloud fournit des clusters Kubernetes gérés, avec le plus haut niveau de sécurité et de résilience intégré.

    En utilisant ces clusters, vous pouvez déployer vos workloads Kubernetes standards dans les centres de données cegedim.cloud afin de maximiser la disponibilité de vos applications.

    cegedim.cloud fournit également une console Rancher, où vous pouvez gérer vos workloads, et configurer les capacités d'observabilité intégrées (Logging et Métrologie) pour la connecter à vos propres plateformes (Grafana, ElasticSearch...).

    MariaDB

    Managed MariaDB

    Description

    MariaDB est un système de gestion de base de données open-source créé par les développeurs de MySQL. MariaDB utilise des tables pour stocker les données de manière organisée et il est possible d'interagir avec la base de données à l'aide de requêtes SQL.

    Il prend en charge des concepts tels que les clés primaires, les index et les relations entre les tables. MariaDB est largement utilisé pour le stockage et la gestion des données dans diverses applications, des sites web aux systèmes d'entreprise. C'est un choix populaire en raison de sa fiabilité, de ses performances et de sa nature open-source.

    v2 - Changements

    OpenSearch amène plusieurs changements, vous devez donc vérifier la compatibilité de votre application avec ceux-ci.

    Remove mapping type

    Il s'agit du principal changement induisant une rupture et il n'est pas spécifique à OpenSearch car il était déjà prévu par ElasticSearch avant le fork.

    Vous devez donc vous assurer que vos applications n'utilisent plus les paramètres "type".

    Voici quelques solutions concernant les produits souvent utilisés avec les solutions élastiques et comment les configurer pour qu'ils fonctionnent avec OpenSearch 2.x

    Instances virtuelles

    Description

    L'instance virtuelle est un produit entièrement géré proposé par cegedim.cloud, conçu pour simplifier et améliorer votre expérience d'hébergement. Avec les instances virtuelles, vous n'avez plus à vous soucier de la complexité de la gestion de votre infrastructure d'hébergement - notre équipe d'experts s'occupe de tout.

    Notre produit prend en charge une variété de systèmes d'exploitation tels que Linux, Windows et AIX, ce qui vous donne la liberté de choisir l'environnement qui répond le mieux à vos besoins. Il peut être déployé sans effort grâce à notre outil de gestion de plateforme cloud convivial appelé ITCare.

    Cet outil vous donne la possibilité de démarrer l'instance souhaitée, de sélectionner le système d'exploitation de votre choix et de personnaliser les ressources pour répondre à vos besoins spécifiques en quelques clics, garantissant ainsi que vos instances sont adaptées aux exigences de votre entreprise.

    Temps de restauration garantie

    Support 24x7 (option)

    Sauvegarde, restauration et géo-réplication de données

    Reprise d'activité en cas de désastre

    Cybersécurité managée

    Patches de sécurité et mise à jour mineures trimestrielles

    Patches de sécurité critiques et mise à jour

    Déploiement via ITCare

    Supervision & Support d'incident technique

    Requêtes standards

    6.2.x

    Debian 10

    6.2.x

    Debian 12 (déploiements créés après le 31 mai 2024)

    7.2.x

    Debian 12

    Messaging

    Lorsque la consommation de RAM atteint 95 %, il tue les pods les plus récents, l'un après l'autre, pour soulager la pression. Il n'est pas activé par défaut.

    Sauvegarde

    ✅ Option

    Réplication de données (PRA)

    ✅ Option

    Disponibilité

    99,9%

    Déploiement multi-AZ

    ✅

    Libre-service

    ✅

    Instances

    • 3

    • 5 (recommandé)

    CPU (par instance)

    2 - 16 vCPU

    RAM (par instance)

    4 - 384 Go

    Version(s) supportée(s)

    • 2.11.0

    • 2.15.0

    • 2.19.0

    Surveillance

    ✅ Option

    Surveillance 24x7

    ✅ Option

    OpenSearch - Architecture
    Structure de l'API ITCare

    Chaque ressource appartient à une hiérarchie qui contient : Catégorie, Type, Famille. Une vue d'ensemble de la catégorisation est décrite comme suit :

    Categorie
    Type
    Famille

    Application server

    Tomcat

    Wildfly

    Container

    Kubernetes

    Instance

    Linux

    CentOS

    Lors de l'obtention d'une ressource, un attribut nommé path est disponible dans la sortie pour informer sur la catégorie-famille-type à parcourir afin d'obtenir des détails sur la ressource.

    Le point d'entrée de l'API pourrait être le endpoint : /compute/resources. Il peut être utilisé pour explorer les informations de base et naviguer vers la catégorie appropriée pour obtenir les détails.

    Quel format de date / temps est utilisé par l'API ?

    JSON ne supporte pas nativement le format Date/Time. Tous les paramètres tagués en tant que Date par l'API sont donc des string au format ISO8601.

    Z correspond à la timezone : +0200 par exemple.

    Pour les requêtes GET, ne pas oublier d'URL-Encoder ces paramètres.

    Puis-je lancer des actions à blanc via l'API ?

    Certaines méthodes autorisent le test des appels API sans que cela ne déclenche réellement l'action dans ITCare. La validation s'effectue cependant. Pour activer le mode Dry Run, il suffit d'ajouter un header personnalisé dans vos requêtes HTTP :

    Une fois que le serveur traitera votre requête, le même header personnalisé sera inclus dans la réponse.

    Comment fonctionnent les actions asynchrones ?

    Certaines méthodes sont asynchrones et nécessitent un délai après leur invocation. Cela s'applique à des longues transactions telles que l'administration des ressources ou l'envoi de rapports. Les méthodes qui fonctionnent de manière asynchrone répondront :

    • un code retour HTTP 202

    • un corps contenant un ID de suivi de l'opération asynchrone en cours

    Voici un exemple de code en Python qui explique le fonctionnement asynchrone :

    Les statuts des actions peuvent être :

    • IN_PROGRESS

    • SUCCESS

    • ERROR

    https://api.cegedim.cloud/
    Choisissez la taille de l'instance de Matomo Analytics correspondant à vos besoins et cliquez sur
    Suivant
    .

    Fournissez le mot de passe du super utilisateur nommé "administrator" qui vous sera donné.

    Le mot de passe du super utilisateur n'est pas sauvegardé par cegedim.cloud.

    Veillez à sauvegarder votre mot de passe!

    A l'étape suivante, vous pouvez configurer les options de gestion :

    • Surveillance (fortement recommandé)

    • Surveillance 24/7

    • Sauvegarde (fortement recommandé)

    • Réplication du stockage

    Cliquez sur Suivant.

    Sélectionnez la région dans laquelle vous souhaitez créer votre instance Matomo.

    Cliquez sur Suivant.

    Vérifiez vos entrées dans la page de synthèse. Vous pouvez :

    • Vérifier l'instance qui sera créée

    • Voir le service global cible

    • Enregistrer votre mot de passe administrateur

    • Vérifier les options de gestion

    Cliquer sur Soumettre une fois prêt.

    Une fois que l'instance est prête, vous recevrez un e-mail contenant les informations nécessaires pour vous y connecter.

    La création d'une instance peut prendre jusqu'à 2 heures en fonction de la charge actuelle de l'automatisation. L'instance sera alors affichée dans la page de gestion, dans la section Analytique.

    Démarrer une instance Matomo

    Allez dans le menu Statistiques du menu principal de gauche et cliquez sur le lien Gérer.

    Une fois que toutes les instances Matomo sont présentées, cliquez sur le bouton de démarrage de l'instance de votre choix. Le démarrage d'une instance Matomo démarre tous les composants.

    Une notification par e-mail sera envoyée lorsque le service sera activé.

    Arrêter une instance Matomo

    Allez dans le menu Statistiques du menu principal de gauche et cliquez sur le lien Gérer.

    Une fois que toutes les instances de Matomo sont présentées, cliquez sur le bouton d'arrêt de l'instance de votre choix. Saisissez un numéro RFC pour le suivi (facultatif) puis validez en cliquant sur Stop. L'arrêt d'une instance Matomo arrêtera tous les composants et la surveillance sera désactivée.

    Une notification par e-mail sera envoyée lorsque l'instance sera arrêtée.

    Supprimer une instance Matomo

    Allez dans le menu Statistiques à partir du menu principal de gauche et cliquez sur le lien Gérer.

    Une fois que toutes les instances Matomo sont affichées, cliquez sur le bouton de suppression de l'instance de votre choix.

    Vous ne pouvez supprimer qu'une instance déjà arrêtée.

    Cette action supprimera tous les composants utilisés par cette instance Matomo.

    Veuillez noter que cette action n'est pas récupérable.

    Saisissez un numéro RFC pour le suivi (facultatif) et le nom de l'instance (captcha obligatoire) pour confirmer votre choix, puis cliquez sur Supprimer.

    Une notification par e-mail sera envoyée lorsque l'instance sera supprimée.

    Redimensionner une instance Matomo

    Allez dans le menu Statistiques du menu principal de gauche et cliquez sur le lien Gérer.

    Une fois que toutes les instances de Matomo sont présentées, cliquez sur le bouton de redimensionnement de l'instance de votre choix.

    Vous ne pouvez redimensionner que si l'instance est démarrée.

    Sélectionnez la nouvelle taille qui ne peut être que supérieure à la taille actuelle et cliquez sur Redimensionner.

    Le service sera interrompu pendant la durée de l'opération (quelques minutes).

    Une notification par e-mail sera envoyée lorsque l'instance sera redimensionnée.

    Installer des plugins Matomo

    Connectez-vous à votre instance Matomo Analytics avec l'utilisateur "administrator" que vous avez fourni lors du provisionnement.

    Cliquez sur l'icône Administration représenté par une roue crantée :\

    Sélectionnez le menu "Extensions" dans la catégorie "Système"

    Allez à la fin de la page et cliquez sur le bouton "Installer de nouveaux composants" :

    Recherchez, installez et activez les modules à votre guise :\

    Mettre à jour la version de Matomo

    Connectez-vous à votre instance Matomo Analytics avec l'utilisateur "administrator".

    Cliquez sur l'icône d'administration

    Cliquez en haut de la page sur le message indiquant une nouvelle version

    Confirmer la mise à jour automatique\

    Attendre la fin de la mise à jour avec un message de réussite\

    Container en tant que Service

    Les principaux objectifs du projet Container en tant que Service sont :

    • Capacité à fournir des clusters Kubernetes de dernière génération à la demande.

    • Application Stateful supportée

    • Prise en charge des volumes persistants avec Auto-Provisioning et Haute Disponibilité

    • Respecter les normes réseau, les règles de stockage et de sécurité.

    • Une sécurité renforcée

    • Système de surveillance et de métriques intégré à la demande pour chaque application

    • Prise en charge des règles de réseau dynamiques

    Cluster

    Nœuds

    2 - 256

    CPU (par nœud)

    2 - 16

    RAM (par nœud)

    6 - 256 Go

    Surveillance

    ✅

    Surveillance 24x7

    ✅ Option

    Sauvegarde des nœuds

    ❌

    Pour plus d'information, veuillez consulter la page K8s - Architecture.

    Facturation

    La facturation est mensuelle et basée sur le nombre de nœuds et sur les coûts supplémentaires tel que le stockage et la sauvegarde.

    L'estimation des coûts pour un cluster Kubernetes est disponible via votre Service Delivery Manager.

    Plateforme en tant que Service

    MariaDB est déployé on-premise dans les centres de données de cegedim.cloud.

    La version support à long terme (LTS) peut être déployée en self-service à l'aide d'ITCare.

    Le même niveau de service que l'offre Compute est garanti : déploiement d'instances, maintien en condition opérationnelle, flexibilité, sécurité et monitoring sont ainsi assurés par nos experts.

    Deux topologies sont disponibles en libre-service :

    • Instance autonome

    • Cluster Galera (3 nœuds)

    Le cluster Galera est prêt pour la production avec au moins 3 nœuds répartis sur toutes les zones de disponibilité d'une Région cible.

    Le dimensionnement peut être configuré selon vos besoins.

    Instance autonome
    Cluster Galera

    Instances

    1

    3

    CPU (par instance)

    2 - 16 vCPU

    2 - 16 vCPU

    RAM (par instance)

    4 - 384 Go

    4 - 384 Go

    Version(s) supportée(s)

    10.6

    Pour plus d'information, veuillez consulter la page MariaDB - Architecture.

    Facturation

    La facturation est mensuelle et basée sur le nombre d'instance plus des coûts supplémentaires pour le stockage, la sauvegarde, la surveillance 24/7.

    L'estimation du coût d'une instance MariaDB est disponible via votre Service Delivery Manager.

    Fluentbit

    Si le client est Fluentbit, la solution la plus simple est de définir le paramètre Suppress_Type_Name sur On.

    Il est également possible de changer le plugin de sortie pour le plugin natif d'OpenSearch qui fait partie de Fluentbit depuis la version 1.9.

    L'article suivant peut s'avérer utile pour débuter avec Fluentbit et OpenSearch :

    Fluentd

    Si le client est Fluentd, c'est plus délicat. Il existe également unsuppress_type_name mais le plugin n'utilise ce paramètre que s'il détecte une version d'Elastic >= 7.

    Nous devons donc ajouter d'autres paramètres :

    • verify_es_version_at_startup = false - pour ne pas laisser le plugin détecter la version

    • default_elasticsearch_version = '7'

    Voici par exemple les changements à effectuer sur les spécifications du plugin de sortie que nous utilisons dans Kubernetes.

    Avant
    Après

    Il y a aussi un plugin de sortie pour OpenSearch.

    Le plugin OpenSearch n'est pas encore disponible dans le système de journalisation de Rancher.

    Nous comprenons l'importance des performances et de la fiabilité, c'est pourquoi les instances virtuelles sont équipées de systèmes de surveillance, de services de sauvegarde et de réplication des données. Cela garantit une visibilité en temps réel de la santé de vos instances et une sécurité accrue.

    En résumé, que vous ayez besoin d'un système d'exploitation Linux, Windows ou AIX, et quelles que soient vos exigences en matière de ressources, les instances virtuelles vous offrent la flexibilité et l'évolutivité dont vous avez besoin.

    Instances virtuelles en tant que Service

    La configuration des ressources peut varier en fonction du système d'exploitation cible.

    Instance

    Systèmes d'exploitation supportés

    • Linux

    • Windows

    • AIX

    CPU (par instance)

    2 - 16

    RAM (par instance)

    4 - 384 Go

    Stockage (par instance)

    35 - 4096 Go

    Surveillance

    ✅ Option

    Surveillance 24x7

    ✅ Option

    Pour plus d'information sur les instances virtuelles, vous pouvez consulter https://code.cegedim.cloud/product-management/gitbook/french-documentation/-/blob/main/calcul/instances-virtuelles/instances-virtuelles-architectures.md.

    Facturation

    La facturation est mensuelle et basée sur le nombre d'instances et les coûts supplémentaires pour le stockage, la sauvegarde, la surveillance 24x7.

    L'estimation du coût d'une instance virtuelle est disponible auprès de votre Service Delivery Manager.

    Instances virtuelles - Didacticiels

    Comment déployer une instance virtuelle ?

    Pour créer une nouvelle instance virtuelle, rendez-vous sur ITCare et recherchez votre service global cible où vous créerez votre nouvelle instance.

    Recherchez votre service global dans la barre de recherche supérieure et cliquez dessus pour afficher sa page d'information. Une fois dans votre service global, cliquez sur le bouton Créer une ressource, sélectionnez Linux, Windows ou AIX et la version et/ou la distribution souhaitée.

    Remplir les champs :

    • Nom de la machine virtuelle

    • Dimensionnement du CPU/RAM

    • Disques et capacité de stockage pour chaque disque

    • Emplacement de la cible

    • Réseau cible

    • Options de gestion (sauvegarde, surveillance, surveillance 24x7, réplication des données)

    Cliquez sur Suivant une fois que tous les champs ont été remplis.

    Lors de l'étape de personnalisation, vous pouvez :

    • Formuler une requête spécifique (il est à noter que cela retardera la tâche automatisée car cela déclenchera une intervention humaine)

    • Créer plusieurs instances avec la même configuration (noms et emplacement à fournir)

    Cliquez ensuite sur Suivant.

    Lisez le résumé avant de soumettre le formulaire.

    L'approvisionnement peut prendre jusqu'à 2 heures, en fonction de la charge d'automatisation actuelle.

    Une fois que le déploiement est prêt, vous en serez informé par e-mail.

    Comment puis-je me connecter à mon instance virtuelle ?

    Quelle que soit l'instance ou le système d'exploitation auquel vous devez vous connecter, l'utilisation d'un Bastion est obligatoire. Vous devez d'abord vous connecter au Bastion assigné à votre locataire, à partir duquel vous pouvez ensuite initier une connexion SSH ou RDP à vos instances.

    Linux

    Connexion SSH en utilisant Putty ou mRemoteNG installé sur votre Bastion. Les identifiants à utiliser sont vos propres identifiants d'utilisateur adm.corp.

    La connexion directe en tant qu'utilisateur root est désactivée sur toutes les instances virtuelles Linux. Vous devez vous connecter avec un utilisateur non root, puis utiliser les permissions sudoers pour effectuer des actions à haut privilège.

    Comment s'authentifier ?

    Deux méthodes d'authentification sont autorisées :

    • LDAP

    • Clé publique et privée

    Pour se connecter via SSH en utilisant la méthode d'authentification LDAP, vous devez avoir un compte valide dans le même domaine LDAP que celui dans lequel votre instance virtuelle est inscrite.

    Il n'est pas nécessaire de spécifier le nom du domaine LDAP dans votre login.

    Lors de la première connexion, votre répertoire personnel sera automatiquement créé : /home/<yourlogin>/

    Pour obtenir la liste des commandes autorisées, entrez la commande suivante : sudo -l

    Pour se connecter à une instance virtuelle linux avec votre clé publique SSH, votre clé doit être ajoutée au fichier /home/<user>/.ssh/authorized_keys.

    Où <user> est le nom du compte local sur le serveur cible et login spécifie le nom de l'utilisateur local : ssh user@host

    Window

    Connexion RDP en utilisant Remote Desktop de mRemoteNG ou Windows mstsc intégré sur votre Bastion. Les identifiants à utiliser sont ceux de l'utilisateur adm.corp.

    AIX

    Connexion SSH en utilisant Putty ou mRemoteNG installé sur votre Bastion. Un compte utilisateur local avec un accès sudo ou root sera fourni lors de la livraison de l'instance.

    Comment autoriser l'accès à une instance virtuelle linux ?

    Autorisation de connexion LDAP

    our lister les utilisateurs et groupes LDAP autorisés à se connecter, utilisez la commande suivante :

    • simple_allow_groups : groupes LDAP

    • simple_allow_users : utilisateurs LDAP

    Vous ne pouvez ajouter que des groupes ou des utilisateurs inscrits dans le même domaine LDAP que votre instance virtuelle.

    Ajouter des utilisateurs

    Pour autoriser la connexion d'un utilisateur LDAP, utilisez la commande suivante :

    Ajouter des groupes

    Pour autoriser la connexion à un groupe LDAP, utilisez la commande suivante :

    Supprimer des accès

    Pour supprimer l'accès à un utilisateur ou groupe LDAP, utilisez la commande suivante :

    Comment gérer les permissions sous Linux ?

    Pour accorder des droits sudo à des utilisateurs ou groupes LDAP (ainsi qu'à des utilisateurs ou groupes locaux), créez un nouveau fichier dans /etc/sudoers.d

    Il n'est pas recommandé d'ajouter des instructions sudoers dans le fichier /etc/sudoers. Réservé au système.

    Utilisez la commande visudo pour éditer votre fichier sudoers :

    Comme les groupes UNIX, les groupes LDAP dans le fichier sudoers doivent être préfixés par un '%'.

    Mise à jour

    Processus de mise à niveau

    Requête

    La mise à jour d'un PaaS Kubernetes peut-être effectuée en self-service sur la page ressource du cluster Kubernetes depuis ITCare

    Il est recommandé de procéder à la mise à jour de vos environnements de non-production dans un premier temps afin de pouvoir valider la nouvelle version ainsi que la compatibilité avec votre cluster.

    Déroulement

    L'upgrade du cluster Kubernetes suit ces étapes en mode Rolling Update :

    1. Les pods sont redémarrés noeud par noeud : 10% des noeuds worker à la fois

    2. Validation post-mise à jour (health check, monitoring).

    Impacts

    Les version api de ressources Kubernetes peuvent être obsolètes, voir supprimés lors de la mise à jour de version Kubernetes. Il y a une risque de cassure si vous avez des ressources avec une version api supprimé dans la nouvelle version de Kubernetes.

    Pour éviter cela, une des solutions est d'utiliser l'outil "kubent" pour vérifier la compatibilité .

    Kubent détecte les objets obsolètes du cluster Kubernetes. Vous devez migrer/modifier les ressources identifiés avant la mise à jour de version Kubernetes.

    Vérification de compatibilité avant une mise à jour de version Kubernetes

    Pour installer kubent :

    Pour identifier les objets obsolètes qui vont être supprimés dans la prochain version Kubernetes :

    Un exemple de l'output :

    Dans ce tutoriel, si votre cluster est planifié pour une mise à jour vers version Kubernetes 1.22, vous devez migrer votre resource ingress nommé "toto" de version api networking.k8s.io/v1beta1 vers networking.k8s.io/v1 avant la mise à jour.

    Cette migration peut impliquer une modification des champs supplémentaires de la ressource. Veillez consulter la documentation officielle :

    Kubent pourrait échouer de reporter certaine information, e.g. espace de nom de l'ingress, vous pouvez remonter l'issue à l'éditeur :

    Mettre à jour votre cluster

    En haut de la page du cluster, cliquez sur le bouton Gérer, puis sur Mettre à jour. Un message d'information apparait, cliquez sur Soumettre.

    La mise à jour peut prendre plusieurs minutes selon la taille du cluster.

    Temps de référence

    Une mise à jour d'un cluster Kubernetes prend environ 15 minutes en moyenne. Les noeuds sont mis à jour les un après les autres en respectant un maximum de 10% de noeud sur le cluster.

    Ces temps sont indicatifs et peuvent varier selon les spécificités du cluster.

    Matrice de support OS / Kubernetes

    Distribution Linux supportées par cegedim.cloud en fonction de la version de Kubernetes :

    Versions de Kubernetes
    Distribution Linux supportée

    Chemins de mises à jour Kubernetes supportés

    Version Source
    Kubernetes 1.28
    Kubernetes 1.30
    Kubernetes 1.31
    Kubernetes 1.32

    Stockage Persistant

    Introduction

    cegedim.cloud propose désormais une plateforme de stockage Ceph multi-locataires en tant que fournisseur de CSI avec les spécifications suivantes :

    • Les données sont répliquées 4 fois et réparties uniformément (à l'aide de Ceph Crush Map) sur 2 centres de données afin de garantir que, dans les scénarios de catastrophe, 2 répliques de données sont toujours disponibles.

    • Chaque cluster Kubernetes, en tant que client Ceph, dispose de son propre pool de données sur le serveur Ceph et consomme des services avec ses propres identifiants.

    • Seul le RBD Ceph CSI est fourni pour le moment.

    De plus amples informations sur le Ceph CSI sont disponibles via le lien ci-dessous

    Versions

    Composant
    Version

    Classe de stockage

    Nom
    Description

    Haute disponibilité

    EB
    ET

    Caractéristiques du CSI

    CSI Ceph-rbd

    Snapshot et restauration de PVC dans Kubernetes

    cegedim.cloud utilise External Snapshotter pour prendre des clichés et restaurer le PVC de vos clusters Kubernetes.

    Toutes les informations relatives à cette application sont disponibles à l'adresse suivante :

    Comment savoir si j'ai un snapshotclass actif sur mon cluster ?

    Il est recommandé de nommer la classe d'instantanés d'après la classe de stockage. Il suffit d'exécuter la commande ci-dessous pour vérifier :

    Comment lister les CSI disponibles dans mon cluster ?

    Pour répertorier tous les CSI disponibles dans un cluster Kubernetes, procédez comme suit :

    Voici une correspondance entre la classe de stockage et le CSI :

    Classes de stockage
    CSI

    OpenSearch - Architecture

    Topologies

    Le cluster OpenSearch est disponible en tant que :

    • Cluster de 3 nœuds - non recommandé pour une utilisation en production

    • Cluster de 5 nœuds ou plus - recommandé pour une utilisation en production

    Topologie à 3 nœuds

    Dans la topologie à 3 serveurs, tous les serveurs jouent le rôle de maître, deux d'entre eux sont également utilisés comme nœuds de données. Chaque index est répliqué par défaut sur ces deux nœuds de données.

    Topologie d'au moins 5 nœuds

    Avec 5 serveurs ou plus, trois nœuds sont utilisés comme nœuds maîtres et n'hébergent pas de données. En fonction de la zone, les nœuds maîtres sont répartis sur 2 ou 3 zones de disponibilité. Les nœuds restants n'hébergent que des données et sont répartis sur deux zones de disponibilité.

    Résilience

    Dans une Area avec 3 zones de disponibilité, le cluster est résilient face à une défaillance d'une zone de disponibilité.

    Dans une Area avec 2 zones de disponibilité, le cluster peut tomber en panne si la zone de disponibilité contenant deux maîtres n'est pas disponible.

    Fonctionnalités

    Cette section énumère les fonctionnalités / capacités disponibles pour les utilisateurs, ainsi que la manière de les demander / de les exécuter :

    Fonctionnalités
    Libre-service
    Sur requête
    Commentaires

    Sécurité

    Authentification

    L'authentification utilise le système de sécurité interne d'OpenSearch. Il peut être configuré sur demande pour accepter Active Directory comme backend d'authentification.

    Autorisations

    Les autorisations sont effectuées à l'aide de RBAC. Il peut être configuré sur demande pour accepter Active Directory comme fournisseur de rôles.

    Transport sécurisé

    TLS/SSL est activé par défaut pour les flux réseau entrants et internes.

    Mots de passe

    Cette section explique comment est gérée la gestion des mots de passe :

    Mot de passe
    Stocké par cegedim.cloud
    Stocké par le client
    Enforcé
    Commentaires

    PostgreSQL

    Description

    PostgreSQL est actuellement le principal SGBDR (système de gestion de base de données relationnelle) open source, avec une large gamme de fonctionnalités et une grande communauté qui le soutient.

    cegedim.cloud fournit des instances de bases de données PostgreSQL entièrement gérées pour vous permettre de construire vos applications sans vous soucier de la disponibilité, la sécurité et la résilience des bases de données PostgreSQL.

    Plateforme en tant que Service

    PostgreSQL est déployé sur site dans les centres de données de cegedim.cloud.

    cegedim.cloud garantit le même niveau de service que l'offre Compute & Database : déploiement des instances, maintien en condition opérationnelle, flexibilité, sécurité et monitoring sont ainsi assurés par nos experts.

    Deux types de déploiements PostgreSQL sont disponibles :

    • Le mode Instance autonome fournit une instance PostgreSQL standard.

    • Le mode Haute disponibilité fournit un déploiement PostgreSQL multi-instances avec des capacités de résilience et d'évolutivité améliorées.

    Le dimensionnement peut être configuré en fonction de vos besoins.

    Instance autonome
    Haute disponibilité

    Pour plus d'information, veuillez consulter la page .

    Facturation

    La facturation est mensuelle et basée sur le nombre de nœuds plus les coûts supplémentaires pour le stockage, la sauvegarde et le monitoring 24x7.

    L'estimation du coût d'un nœud PostgreSQL est disponible via votre Service Delivery Manager.

    Matomo - Architecture

    Description

    Matomo est disponible en libre-service dans ITCare pour tous les utilisateurs autorisés.

    En fonction du dimensionnement choisi (voir les dimensionnements ci-dessous), plusieurs composants seront déployés avec un strict minimum de :

    • 1 serveur web frontal

    • 1 serveur de base de données

    • 1 équilibreur de charge avec une adresse IP publique (certificat inclus)

    Les tailles supérieures (pour suivre plus de pages vues par mois) peuvent inclure plus de serveurs web pour l'équilibrage de charge. Pour les tailles supérieures à XL, un ticket de demande sera nécessaire.

    Une fois provisionnée, votre instance Matomo est accessible au public via l'URL fournie dans ITCare.

    L'installation de plugins et les mises à jour de Matomo peuvent être effectuées par le client en toute autonomie.

    Architecture

    Régions

    Matomo est disponible dans les régions suivantes :

    • EMEA - France - Boulogne-Billancourt

    • EMEA - France - Toulouse

    Dimensions

    Les tailles suivantes sont disponibles :

    Tailles
    Capacité estimée

    Redimensionner votre instance Matomo

    Le redimensionnement est disponible dans le self-service ITCare mais ne permet que le redimensionnement vers le haut.

    Le redimensionnement vers le bas n'est pas possible !

    Versions supportées

    La version de Matomo déployée dépend de la dernière mise à jour de nos repository lors de la dernière patch party.

    La dernière version sera souvent disponible mais il peut arriver que la version déployée ne soit pas la dernière.

    Dans ce cas, la mise à jour peut être déclenchée par le client en autonomie directement depuis l'interface web UI ou sur demande en créant un ticket de demande dans ITCare.

    Fonctionnalités

    Cette section énumère les fonctionnalités / capacités disponibles pour le client, ainsi que la manière de les demander / de les exécuter :

    Fonctionnalités
    Libre-service
    Sur requête
    Commentaires

    Sécurité

    Authentification et autorisations

    Le client dispose d'un compte local super utilisateur.

    OpenOIDC est configuré pour ajouter et autoriser facilement d'autres utilisateurs à accéder à Matomo.

    Transport sécurisé

    L'accès à votre instance Matomo se fait de manière sécurisée via HTTPS.

    Localisation des données

    Toutes les données sont stockées dans les centres de données de cegedim.cloud sur des baies de stockage cryptées.

    Mots de passe

    Le mot de passe du compte super utilisateur fourni au client n'est pas stocké ni sauvegardé par cegedim.cloud.

    Surveillance

    Matomo et les composants associés sont surveillés par notre équipe de support. Un état de santé global est affiché dans ITCare pour votre confort.

    Redis

    Description

    Redis qui signifie Remote Dictionary Server, est un magasin de données clé-valeur rapide, open source, en mémoire.

    Il fournit une réplication intégrée, différents niveaux de persistance sur le disque, et offre une haute disponibilité avec Sentinel.

    Il existe un large éventail d'outils de développement pour les langages les plus courants.

    Plateforme en tant que Service

    Redis est déployé sur site dans les centres de données cegedim.cloud.

    cegedim.cloud garantit le même niveau de service que l'offre Compute : déploiement des instances, maintien en condition opérationnelle, flexibilité, sécurité et monitoring sont ainsi assurés par nos experts.

    Deux topologies sont disponibles :

    • Instance autonome

    • Cluster Sentinel de 3 instances

    La topologie cluster Sentinel est prête pour la production avec 3 instances réparties sur toutes les Zones de Disponibilité d'une Area cible.

    Chaque instance exécute les processus Redis et Sentinel. Une instance est primaire et les deux autres sont des répliques.

    Le dimensionnement peut être configuré en fonction de vos besoins.

    Instance autonome
    Cluster

    Pour plus d'information, veuillez consulter la page .

    Facturation

    L'estimation des coûts pour un PaaS Redis est disponible via votre Service Delivery Manager.

    La facturation est basée sur le nombre de nœuds auquel s'ajoutent les frais supplémentaires de stockage, de sauvegarde, surveillance 24/7.

    Instances virtuelles - Architectures

    Systèmes d'exploitation supportés

    Linux

    Les distributions Linux suivantes sont disponibles lorsque vous sélectionnez Linux comme système d'exploitation pour votre Instance Virtuelle :

    SQL Server

    Microsoft SQL Server est un système de gestion de base de données relationnelle développé par Microsoft.

    Il est conçu pour stocker et récupérer des données telles que demandées par d’autres applications logicielles. Les fonctionnalités principales de SQL Server incluent :

    • Stockage et récupération de données : SQL Server offre une plateforme sécurisée et scalable pour stocker une grande quantité de données structurées et semi-structurées de manière efficace.

    • Interrogation et manipulation de données : Il propose des capacités avancées d’interrogation, telles que la possibilité d’écrire des requêtes complexes en utilisant le langage SQL, de joindre des tables, de créer des vues et de récupérer des données en fonction de critères spécifiques.

    List Matomo Instances

    get

    Create a Matomo instance

    post

    This method allows to create a matomo instance.

    You will have to know at the minimum :

    • where you want to host your instance (region attribute)
    • name of instance (name attribute)
    • sizing of the instance (sizing attribute). The possible values are : XS (Up to 100K ppm), S(Up to 1M ppm), M(Up to 10M ppm), L(Up to 100M ppm), XL(More than 100M ppm)
    • how to connect to the instance (password 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 matomo instance belongs to (serviceId attribute).
    • Other settings (defaultWebSiteName, defaultWebUri).

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

    POST /analytics/matomo
    {
    	"name": "pmatomo01",
    	"region": "EB",
    	"sizing":"XS",
    	"serviceId":"123",
    	"password": "Password!!??",
    	"defaultWebSiteName": "ITCare",
    	"defaultWebUri": "https://itcare.cegedim.cloud"
    	
    }
    

    Delete a Matomo instance

    delete

    This method allows to delete a matomo 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 /analytics/matomo/123
    
    
    Authorizations
    OAuth2implicitRequired

    Get a Matomo Instance

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Update a Matomo instance

    patch

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

    Use the start operation to start a matomo instance.

    Starts matomo instance.

    This method is synchronous (status code 202).

    Example :

    PATCH /analytics/matomo/1234
    {
        "operation": "start"
    }
    

    Stop matomo instance

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

    This operation cannot be undone afterwards.

    This method is synchronous (status code 202).

    PATCH /analytics/matomo/1234
    {
    	"operation":"stop"
    }
    

    Extend matomo instance

    Use the extend operation to stop the nodes of the matomo instance and the instance itself.

    This operation cannot be undone afterwards.

    This method is synchronous (status code 202).

    PATCH /analytics/matomo/1234
    {
    	"operation":"extend",
    	"options" : {
    	  "sizing" : "M"
    	}
    }
    

    List Application servers

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List Compute Environments

    get

    findComputeEnvironment

    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List Compute Types

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List Resource Technologies

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List Compute Statuses

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List Compute Resources

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get service

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List Actions In Progress

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Application servers

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get MessageBrokers

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Hardwares

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Instances

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Kubernetes Containers

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Load Balancers

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Managed Databases

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Network Clusters

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get exclusion from Patch Party

    get

    This method allows to update the partch party informations related to the given service.

    Structure of payload is generic and describes :

    • an array containing the patch party configuration to apply for each resource of the given service
    • If the resource is to be excluded from the patch parties, an explanation must be given.
    • If the resource is to be included to the patch parties, an patchGroup should be given unless the resource is part of a cluster.

    Update Patch Party Statuses

    PATCH /services/1234/patch-policies
    [
        {
            "resourceId": 500079802,
            "excluded": false,
            "exclusionReason": "I don't want to include this resource"
        },
        {
            "resourceId": 500079545,
            "excluded": true,
            "patchGroup": "2"
        },
        {
            "resourceId": 500057033,
            "excluded": false,
            "exclusionReason": "Wrong patch group is set",
            "patchGroup": "1c"
        },
        {
            "resourceId": 500057055,
            "excluded": false,
            "patchGroup": "1"
        }
    ]
    
    • The response will give the status of all the submitted resources, for example :
    [
        {
            "status": "FAILED",
            "message": "The patch group is only allowed when the farm has one member",
            "id": -1,
            "internalId": 500057055
        },
        {
            "status": "IN_PROGRESS",
            "message": "Include PatchParty SQLServer rhutsql20",
            "process": "INCLUDE_PATCHPARTY",
            "id": 500079545,
            "lastUpdatedAt": "2023-11-16T11:53:42.888+00:00"
        },
        {
            "status": "FAILED",
            "message": "Wrong patch party group set",
            "id": -1,
            "internalId": 500057033
        },
        {
            "id": 202
        }
    ]
    

    There are 3 groups available defining the sequence on which the instance should be updated: 1 (First Group), 2 (Second Group) or 3 (Third Group).

    If no group is set, it means that you have no preference while defining the sequences.

    Update patch party

    patch
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Service Relations

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Service Relations Stats

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Service Resources

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Service Stats

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Service Storage

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List history

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List managed databases

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email

    List GlusterFS

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Create GlusterFS

    post

    This method allows to create a GlusterFS cluster.

    You will have to know at the minimum :

    • the area or availability zone of the region where you want to host your GlusterFS (area & az attributes). Areas can be available in List Regions method.
    • the product code or platform of the Product (productCode & platform attributes).
    • name of GlusterFS cluster (name attribute). The name can contain any lowercase characters, dashes and underscores.
    • storage needed (diskSize attribute). The possible values are at least 10 and maximum 1024 (representing GB).
    • how to connect to the cluster (admPassword attribute). The password must be between 12 and 20 characters with at least one lowercase character, one uppercase character, one digit and one special character
    • userName of the volume (userName attribute). Maximum size is 32 characters, lowercase characters, underscore and dashe are allowed
    • On which service the GlusterFS cluster 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 /storage/glusterfs
    {
      "name": "mygluster01",
      "diskSize": "15",
      "admPassword": "mySuperPassword123!!",
      "userName": "dda",
      "networkId": 123,
      "area":"EB-A",
      "serviceId": 46922
    }
    

    Delete GlusterFS

    delete
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get a GlusterFS

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Update GlusterFS

    patch

    This method allows to update a GlusterFS cluster.

    Structure of payload is generic and describes :

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

    Below are different operations currently implemented.

    Start

    Use the start operation to start a GlusterFS cluster.

    Create nodes operation will add the new nodes in the cluster by availability zone. You can specify the availability zone you need in the request.

    This method is synchronous (status code 202).

    Example :

    PATCH /storage/glusterfs/1234
    {
    	"operation": "start",
    	"options": {
    	   "changeReference": "RFC_123"
    	}
    }
    

    Stop

    Use the stop operation to stop a GlusterFS cluster.

    This operation cannot be undone afterwards.

    This method is synchronous (status code 202).

    PATCH /storage/glusterfs/1234
    {
    	"operation": "start",
    	"options": {
    	   "changeReference": "RFC_123"
    	}
    }
    

    Resize GlusterFS instance

    Use the resize operation to resize the nodes of the GlusterFS instance and the instance itself.

    This operation cannot be undone afterwards.

    This method is asynchronous (status code 202).

    PATCH /storage/glusterfs/1234
    {
    	"operation":"resize",
    	"options": {
            "sizing": "2cpu4gb"
        }
    }
    

    Add Volume

    Use the add_volume operation to add a Volume to a GlusterFS cluster.

    This operation cannot be undone afterwards.

    This method is synchronous (status code 202).

    PATCH /storage/glusterfs/1234
    {
    	"operation": "add_volume",
    	"options": {
    	   "diskSize": "42",
    	   "userName": "dda",
    	   "userPass":"mySuperPassw0rd42"
    	}
    }
    

    Resize Volume

    Use the resize_volume operation to resize a Volume to a GlusterFS cluster.

    This operation cannot be undone afterwards.

    This method is synchronous (status code 202).

    PATCH /storage/glusterfs/1234
    {
    	"operation": "resize_volume",
    	"options": {
    	   "name":"dda",
    	   "diskSize": "42",
    	   "userName": "dda"
    	}
    }
    

    Resize Volume

    Use the delete_volume operation to delete a Volume from a GlusterFS cluster.

    This operation cannot be undone afterwards.

    This method is synchronous (status code 202).

    PATCH /storage/glusterfs/1234
    {
    	"operation": "delete_volume",
    	"options": {
    	   "name":"dda"
    	}
    }
    

    Update Patch Party

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

    • 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 /storage/glusterfs/1234
    {
      "operation": "update_patch_party",
      "options": {
        "patchParty": {
            "excluded": false,
            "patchGroup": "3"
        }
     }
    }
    
    • Exclude from patch party body:
    PATCH /storage/glusterfs/1234
    {
      "operation": "update_patch_party",
      "options": {
        "patchParty": {
            "excluded": true,
            "exclusionReason": "I want to handle this by myself"
        }
     }
    }
    

    Get GlusterFS network informations

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get a GlusterFS node informations

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get GlusterFS volumes

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List all tag values matching the given value, if value is empty it will return all tag values

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List Regions where resources can be hosted

    get

    List Region

    List Regions where resources are hosted

    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List Certificates available in a specific region and area

    get
    Authorizations
    OAuth2implicitRequired

    List SSL Profiles available in a load balancing and related to a certificates in a specific region and area

    get
    Authorizations
    OAuth2implicitRequired

    Get Region by Id

    get

    List Area

    A low-latency network area, in which we can create load balancers to address several availabilty-zones within this area.

    Use param withAvailabilityZones=true to retrieve Availability Zones of the region.

    Authorizations
    OAuth2implicitRequired

    List Areas

    get

    List Area

    A low-latency network area, in which we can create load balancers to address several availabilty-zones within this area.

    Use param withAvailabilityZones=true to retrieve Availability Zones of the region.

    Authorizations
    OAuth2implicit

    List Availability Zones Networks

    get

    List Availability Zones Network

    This method returns the list of accessible networks from an Availability Zone.

    You can use scope query parameter to filter frontend/backend networks,

    and onlyNonFull if you want only networks with available IP addresses to be listed

    Authorizations

    List Authentication Domains

    get

    List Authentication Domains

    This method returns the list of accessible authentication domains within a network.

    List health checks that are present for a given region and area

    get

    List health checks that are present for a given region and area

    A healthcheck is a test performed on a loadbalanced url to retrieve the status of the service Use the clouds parameter (comma-separated list of long) to restrict results to specified Clouds IDs (use the /me to obtain the list of your Clouds).

    Authorizations

    List Load Balancing Networks

    get

    List Load Balancing Networks

    This method returns the list of accessible networks from a Load balancing Zone.

    Available Parameters:

    • scope query parameter to filter private, interco, internet networks. for 'frontend' and 'backend' networks, use scope=private
    • environment query parameter to filter production, non_production networks. for 'production' networks, use environment=production
    • onlyNonFull if you want only networks with available IP addresses to be listed.
    • clouds parameter (comma-separated list of long) to restrict results to specified Clouds IDs (use the /me to obtain the list of your Clouds).

    List Area Networks

    get

    List Area Network

    This method returns the list of accessible networks from an Area.

    Parameters

    • scope filter by network scope
    • onlyNonFull if you want only networks with available IP addresses to be listed
    Authorizations

    Create Apache Kafka

    post

    This method allows to create an Apache Kafka platform.

    You will have to know at the minimum :

    • the area or availability zone of the region where you want to host your broker (area & az attributes). Areas can be available in List Regions method.
    • the product code (productCode attribute).
    • 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.
    • 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
    {
      "productCode": "kafka_3_9_0",
      "area": "EB-QA",
      "name": "testkafka",
      "nodePrefix": "DM123",
      "nodeSizing": "2cpu4gb",
      "brokerCount": 3,
      "diskSize": 40,
      "networkId": 1234511,
      "serviceId": 46922,
      "admPassword": "Test123@2022"
    }
    

    Delete Apache Kafka

    delete

    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
    
    
    Authorizations
    OAuth2

    Get Apache Kafka instance

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Update Apache Kafka

    patch

    This method allows to update an Apache Kafka platform.

    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 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, 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/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"
    	}
    }
    

    Get network informations

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get node information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List all tag keys matching the given key, if key is empty it will return all tag keys

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Hardware by id

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get available backup policies

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get a backup policy by its id

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List available actions

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email

    List SQLServers

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Create SQLserver

    post

    This method allows to create a SQL Server 2022 platform.

    You will have to know at the minimum :

    • name of the SQL server (name attribute). The name can contain any lowercase characters or numbers (5-60). It must not be the keyword 'cluster'.
    • the product code (productCode attribute).
    • storage needed on each disk of the SQL server (volumes attribute). Initially, 5 disks are allocated and you can create one more. The first disk with id disk0 represents the "C: System", its maximum possible value is 70 and minimum is 1 (representing GB). disk1 represents "D: Root Instance", disk2 represents "E: User Databases", disk 3 represents "F: User Log" and disk4 represents "G: TempDB". The maximum possible value for these disks is 4096 and the minimum is 10 (representing GB).
    • password to connect to the server (customerPassword attribute). The password must be At least one lowercase, one uppercase, one digit, one special character, minimum length must be 8.
    • On which service the SQL server belongs to (serviceId attribute).
    • network ID of the cluster (networkId attribute).
    • the area or availability zone of the region where you want to host your broker (area & az attributes).
    • the database collation you want to use (collation attribute).
    • prefix name of SQL Server (prefix attribute) and Cluster listener name (listenerName attribute) are mandatory in alwaysOn topology.

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

    optional fields:

    • Availability zone of the SQL server (az attribute) default az of area will be used if not provided
    • Authentication domain (authenticationDomainId attribute)
    • Whether SQL server is cluster AlwaysOn or standalone (alwaysOn attribute) default is false
    • Installing SQL Server Integration Services (SSIS) (ssis attribute) default is false
    • Installing SQL Server Reporting Services (SSRS) (ssrs attribute) default is false
    • Installing SQL Server Analysis Services (SSAS) (ssas attribute) default is false
    • Modelisation type (asServerModeStd attribute) which will be considered only if ssas is true
    • Collation for Analysis Services (asCollation attribute) which will be considered only if ssas is true
    • Whether Full-Text search is enabled or not (fullText attribute) default is false
    • Availability mode when sql server is cluster AlwaysOn (availabilityMode attribute)
    • Failover mode when sql server is cluster AlwaysOn (failoverMode attribute)
    • Readable secondary when sql server is cluster AlwaysOn (readableSecondary attribute)
    • Witness when sql server is cluster AlwaysOn (witness attribute)
    • Listener name when sql server is cluster AlwaysOn (listenerName attribute)
    POST /sqlserver
    {
       "productCode": "mssql2k22se",
       "name":"RSQL22",
       "nodeSizing":"2cpu8gb",
       "volumes":[
          {
             "id":"disk3",
             "sizeGb":10
          },
          {
             "id":"disk4",
             "sizeGb":10
          },
          {
             "id":"disk2",
             "sizeGb":30
          },
          {
             "id":"disk1",
             "sizeGb":30
          },
          {
             "id":"disk0",
             "sizeGb":70
          }
       ],
       "area":"EB-QA",
       "customerPassword":"P@ssw0rd",
       "collation":"French_BIN",
       "edition":"STD",
       "serviceId":2423,
       "networkId":5000802
    }
    

    Delete SQLServer

    delete

    This method allows to delete a SQL Server instance.

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

    • by id
    DELETE /compute/databases/sqlserver/1234
    
    • by id and changeReference (RFC)
    DELETE /compute/databases/sqlserver/1234
    {
    	"changeReference": "56789"
    }
    
    Authorizations

    Get SQLServer

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Update SQLServer

    patch

    This method allows to update a SQL Server Farm.

    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 SQL Server Farm

    Use the start operation to start the SQL Server Farm.

    This method is synchronous (status code 202).

    Example :

    PATCH /compute/databases/sqlserver/1234
    {
        "operation": "start"
    }
    

    Stop SQL Server Farm

    Use the stop operation to stop the SQL Server Farm.

    This operation cannot be undone afterwards.

    This method is synchronous (status code 202).

    • by SQL Server id
    PATCH /compute/databases/sqlserver/1234
    {
    	"operation": "stop"
    }
    
    • by sql server id and changeReference number (RFC)
    PATCH /compute/databases/sqlserver/1234
    {
    	"operation": "stop",
    	"options": {
    	    "changeReference": "56789"
    	}
    }
    

    Reset SQLServer Farm

    Use the reset operation to reset the SQL Server Farm.

    This method is synchronous (status code 202).

    Example :

    PATCH /compute/databases/sqlserver/1234
    {
        "operation": "reset"
    }
    

    Resize SQLServer instance

    Use the resize operation to resize the nodes of the SQLServer instance and the instance itself.

    This operation cannot be undone afterwards.

    This method is asynchronous (status code 202).

    PATCH /compute/databases/sqlserver/1234
    {
    	"operation":"resize",
    	"options": {
            "sizing": "2cpu4gb"
        }
    }
    

    Update Patch Party

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

    • 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 /compute/databases/sqlserver/1234
    {
      "operation": "update_patch_party",
      "options": {
        "patchParty": {
            "excluded": false,
            "patchGroup": "3"
        }
     }
    }
    
    • Exclude from patch party body:
    PATCH /compute/databases/sqlserver/1234
    {
      "operation": "update_patch_party",
      "options": {
        "patchParty": {
            "excluded": true,
            "exclusionReason": "I want to handle this by myself"
        }
     }
    }
    

    Get network information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get node information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Verify the existence of SQLServer

    head
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Create RabbitMQ instance

    post

    This method allows to create a RabbitMQ instance.

    You will have to know at the minimum :

    • the area or availability zone of the region where you want to host your broker (area & az attributes). Areas can be available in List Regions method.
    • the product code (productCode attribute).
    • 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.
    • 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
    {
       "productCode": "rabbitmq313",
      "area": "EB-QA",
      "name": "Test123",
      "nodeSizing": "2cpu4gb",
      "brokerCount": 3,
      "diskSize": 40,
      "networkId": 1234511,
      "serviceId": 46922,
      "admPassword": "Test123@2022",
      "vmPrefix" : "AAAAAA"
    }
    

    Delete RabbitMQ 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
    OAuth2implicit

    Get RabbitMQ instance

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Update RabbitMQ 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 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"
        }
     }
    }
    

    Get a RabbitMQ network information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get node information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List Compute Types

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List brokers

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Products

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Product

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get regions

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List Resource Obsolescence

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List Platform Stats

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Platform Support Policy

    get

    Returns list of platforms, their current support phase and milestones concerning their phases of support.

    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    List Compute Resources

    get

    Allows to list resources available in your cloud.

    This endpoint could be used as a main entry to get informations about the other kind of resource types.

    When the resource is retrieved, the *path* attribut allows to navigate to the right category of the resource.

    For example : *path=/compute/containers/kubernetes* tells to check the sections *compute > containers > kubernetes* for more details.

    Authorizations
    OAuth2

    List Resource Metrics

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Returns a list of parents

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get a compute Resource by its id

    get

    Gets a compute Resource by its Id.

    A Resource is the ITCare base object.

    A resource is composed of :

    • *id* : Unique identifier of the resource
    • *name* : Name of the resource
    • *serviceId* : Each resource must be linked to a service . The service is a logical entity that hosts resources per environment, application ...
    • *environment* : The environment of the resource. Can be for example 'PRODUCTION', 'QA', 'RECETTE_UAT', 'DEV' ...
    • *creationUser* : The creator of the resource
    • *creationTime* : When the resource has been created
    • *comment* : Description of the resource
    • *category* : High level categorization of the resource
    • *family* : Family of the resource belonging the category
    • *status* : status of the resource. It can be 'ACTIVE' (running), 'INACTIVE' (stopped)
    • *resourceType* : Type of the resource
    • *cloudId* : Each cloud
    • *cloudName* : name of the related cloud
    • *path* : Helper that gives a path or location about which category to find the resource for more details operations

    When the resource is retrieved, the *path* attribute allows to navigate to the right category of the resource.

    Get a resource backup policy details

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Update comments

    patch
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get a DNS record

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Create a Dns Record

    post
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Delete a DNS Record

    delete
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Get networks information of cluster

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List the action history of a resource.

    get

    Retrieves all operations and events that occurs on a resource : start, stop, monitoring operations ...

    Authorizations
    OAuth2implicitRequired

    List Load Balancers

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get network information of a resource

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List nodes

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Parent Node

    get

    Get the cluster containing the managed node or the load balancer if the resource is an URL

    Authorizations
    OAuth2implicitRequired

    Get patch party policy

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Remove Tags from a Resource

    delete

    Tags allows you to qualify your resources with a custom set of key-value pairs. Tags will be accessible using ITCare search.

    Authorizations
    OAuth2implicitRequired

    List Tags

    get

    Tags allows you to qualify your resources with a custom set of key-value pairs. Tags will be accessible using ITCare search.

    Authorizations
    OAuth2implicitRequired

    Add a Tag to a Resource

    post

    Tags allows you to qualify your resources with a custom set of key-value pairs. Tags will be accessible using ITCare search.

    Authorizations
    OAuth2implicitRequired

    Replace Tags

    put

    Tags allows you to qualify your resources with a custom set of key-value pairs. Tags will be accessible using ITCare search.

    Authorizations
    OAuth2implicitRequired
    Deprecated

    Don't use anymore, use /{id}/parent

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Verifies the existence of a resource

    head
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List Resource Filters

    get

    Gets a Resource filter values filtered by product technology and clouds.

    the responce form this endpoint can be used to filter the response from other endpoints as get page of:

    • /compute/instances
    • /compute/containers/kubernetes
    • /databases
    • /message-broker
    • /networking/loadbalancers

    Query param:

    • *technologies* : optional list of product technologies
    • *cloudId* : Each cloud

    The Response:

    • *iRules* : iRules for loadbalancer
    • *defaultPersistence* : for loadbalancer
    • *fallbackPersistence* : for loadbalancer
    • *loadBalancingMode* : for loadbalancer
    • *protocols* : for loadbalancer
    • *az* : for system instance and application servers
    • *k8sRegions* : for kubernetes
    • *versions* : for any farm of database, message brokers or storage
    • *topologies* : for any farm of database, message brokers or storage

    List Compute Networks

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List Load Balancing Networks

    get

    List Load Balancing Networks

    This method returns the list of accessible networks from a Load balancing Zone.

    Available Parameters:

    • scope query parameter to filter private, interco, internet networks. for 'frontend' and 'backend' networks, use scope=private
    • environment query parameter to filter production, non_production networks. for 'production' networks, use environment=production
    • onlyNonFull if you want only networks with available IP addresses to be listed.
    • clouds parameter (comma-separated list of long) to restrict results to specified Clouds IDs (use the /me to obtain the list of your Clouds).

    Get domains

    get

    Gets domains by name.

    By default,The user's clouds are used to filter the final output

    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get domain

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List OverDrive Instances

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Create OverDrive instance

    post

    This method allows to create an OverDrive instance.

    You will have to know at the minimum :

    • where you want to host your instance (region attribute)
    • name of instance (name attribute)
    • sizing of the instance (sizing attribute). The possible values are : XS (Up to 50 users total), S(Up to 1M ppm), M(Up to 10M ppm), L(Up to 100M ppm), XL(More than 100M ppm)
    • how to connect to the instance (password 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 OverDrive instance belongs to (serviceId attribute).
    • Define the Drive URL to be configured in your service (driveSiteUri).

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

    POST /storage/overdrive
    {
    	"name": "poverdrive01",
    	"region": "EB",
    	"sizing":"XS",
    	"serviceId":"123",
    	"password": "Password!!??",
    	"driveSiteUri": "demo.mydrive.cegedim.cloud"
    	
    }
    

    Delete an OverDrive instance

    delete

    This method allows to delete an Overdrive 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 /storage/overdrive/123
    
    
    Authorizations
    OAuth2implicit

    Get an OverDrive Instance

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Update an OverDrive instance

    patch

    This method allows to update an Overdrive 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 Overdrive instance

    Use the start operation to start an Overdrive instance.

    Starts overdrive instance.

    This method is synchronous (status code 202).

    Example :

    PATCH /storage/overdrive/1234
    {
        "operation": "start"
    }
    

    Stop Overdrive instance

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

    This operation cannot be undone afterwards.

    This method is synchronous (status code 202).

    PATCH /storage/overdrive/1234
    {
    	"operation":"stop"
    }
    

    List Instances

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Create an instance

    post

    This method allows to create an instance.

    You will have to know at the minimum :

    • the area or availability zone of the region (area & az attributes).
    • which product to create
    • name of instance (name attribute)
    • sizing of instance (resourceId attribute)
    • service in which you want to put your instance (serviceId 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 /instances { "name": "PINSTANCE01", "region": "EB4", "serviceId": 13, "productCode": "deb8", "resourceId": "1cpu2gb"}   
    

    This will create a Debian 8 machine (1cpu 2gb RAM) in EB4 region, named PINSTANCE01, and put it into service of ID 13.

    By setting only these parameters, ITCare will use default profile of image (disk configuration) and choose most appropriate Availability Zone and network to host your instance. If you want to specify those parameters take a look at other examples in this documentation.

    Response :

      {
        "id": "1333",
        "status": "IN_PROGRESS"
        
      }
    

    With some python code, you can create instance and wait for completion like this:

    instance = {
    	"name": "PINSTANCE01",
    	"region": "EB4",
    	"serviceId": 13,
    	"productCode": "deb8",
    	"resourceId": "1cpu2gb"
    }
    
    action = itcare.post('/api/instances', payload=instance)
    
    while action['status']=='IN_PROGRESS':
        time.sleep(1)
        action = itcare.get('/api/actions/{}'.format(action['id']))
    
    print action['status']
    

    Choose target Platform and properties

    You'll have to know which platform you want to create, and so use Platforms methods to properly fill in relevant attributes (disks / custom properties / allocated resources...).

    Choose Availability Zone and Network

    You may want to choose your availability zone and network, you can do this by adding availabilityZone and networkId parameters to your request.

    To discover both availability zones and networks, you can use methods Regions, AZ, and Networks.

    Delete an instance

    delete

    This method allows to delete an instance.

    Instance has to be in INACTIVE status, meaning that you have to stop it before deleting it. Use Update Instance PATCH method with stop operation prior to this deletion.

    This operation cannot be undone afterwards.

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

    Example (no body required) :

    DELETE /instances/1233
    

    With additional change reference :

    DELETE /instances/1233
    {
       "changeReference": "RFC_123"
    }
    
    Authorizations

    Get detailled information for an instance.

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Update an instance

    patch

    This method allows to update an instance.

    Structure of payload is generic and describes :

    • operation you want to be performed
    • options to pass to operation to have the operation performed.

    Below are different operations currently implemented.

    Stop an Instance

    Use the stop operation to perform the stop of instance.

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

    Use this method only if instance is running and is in the ACTIVE state. Otherwise a 400 status error code will be returned.

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

    You can also put an optional changeReference if you want ITCare keep a reference to external change management system :

    PATCH /instances/1234
    {
    	"operation": "stop",
    	"options": {
    	   "changeReference": "RFC_123"
    	}
    }
    

    Start an Instance

    Use the start operation to perform the start of instance.

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

    Use this method only if instance is not running and is in the INACTIVE state. Otherwise a 400 status error code will be returned.

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

    You can also put an optional changeReference if you want ITCare keep a reference to external change management system :

    PATCH /instances/1234
    {
    	"operation": "start",
    	"options": {
    	   "changeReference": "RFC_123"
    	}
    }
    

    Reset an Instance

    Use the reset operation to perform the reset of instance.

    Reset operation will perform a hard reset of instance, like power off/power on.

    This operation may result in data loss, your applications and services will not be stopped gracefully.

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

    Use this method only if instance is running and is in the ACTIVE state. Otherwise a 400 status error code will be returned.

    PATCH /instances/1234
    {
    	"operation": "reset"
    }
    

    You can also put an optional comment that will be display in monitoring system :

    PATCH /instances/1234
    {
    	"operation": "reset",
    	"options": {
    	   "comment": "Reset instance because OS is freezed"
    	}
    }
    

    Resize an Instance

    Use the resize operation to perform the resize of instance.

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

    Use this method only if instance is not running and is in the INACTIVE or ACTIVE state. Otherwise a 400 status error code will be returned.

    PATCH /instances/1234
    {
        "operation": "resize",
        "options": {
            "sizing": "2cpu4gb",
            "changeReference": ""
        }
    }
    

    Update Patch Party Statuses

    Use the operation update_patch_party to manage the patch party settings of your instances.

    2 options are available :

    • If the instance is to be excluded from the patch parties, an explanation must be given.
    PATCH /instances/1234
    {
    	"operation": "update_patch_party",
    	"options": {
    	   "patchParty": {
    	      "excluded": true,
    	      "exclusionReason": "I want to handle this App. by myself"
    	   }
    	}
    }
    
    • If the instance is to be included to a patch party, you can specify the group on which the instance will be patched.

    There are 3 groups available defining the sequence on which the instance should be updated: 1 (First Group), 2 (Second Group) or 3 (Third Group).

    If no group is set, it means that you have no preference while defining the sequences.

    PATCH /instances/1234
    {
    	"operation": "update_patch_party",
    	"options": {
    	   "patchParty": {
    	      "excluded": false,
    	      "patchGroup": 3
    	   }
    	}
    }
    

    Replication management

    Use the operation update_storage_replication to manage the replication settings of your instances.

    2 options are available :

    • Deactivation of replication.
    PATCH /instances/1234
    {
    	"operation": "update_storage_replication",
    	"options": {
    	   "state": false
    	}
    }
    
    • Activation of replication.
    PATCH /instances/1234
    {
    	"operation": "update_storage_replication",
    	"options": {
    	   "state": true
    	}
    }
    
    • For production resource, if the replication is to be deactivated , an explanation must be given.
    PATCH /instances/1234
    {
    	"operation": "update_storage_replication",
    	"options": {
    	   "state": true,
    	   "deactivationReason": "I want it ..."
    	}
    }
    

    Instance Backup Management

    Use the update_backup operation to enable/disable instance backup.

    Requirements to update manage backup are :

    • The platform supporting the instance must allow backup
    • Only virtual appliances are manageable For 'disable backup'
    • For production resource, a reason must be given under the 'option' attribute

    2 options are available:

    • Enable backup.
    PATCH /instances/1234
    {
        "operation": "update_backup",
        "options": {
           "state": true
        }
    }
    
    • Disable backup.
    PATCH /instances/1234
    {
        "operation": "update_backup",
        "options": {
           "state": false,
           "deactivationReason": "Because.."    
        }
    }
    

    Get network information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Snapshot

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Recover a snapshot

    patch
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Create a snapshot

    post
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Delete a Snapshot

    delete
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Get storage

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Action Status

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email

    Get Action Status

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    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"
    }
    

    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
    OAuth2implicit

    Get a OpenSearch Cluster Instance available in the cloud

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    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"
        }
     }
    }
    

    Get an OpenSearch network information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get an OpenSearch node information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Create Redis DB instance

    post

    This method allows to create a redis 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 :

    Must Name not present in ITCare
    Must have maximum 15 characters (A-Z0-9-)
    At least 2-3 digits (0-9) at the end

    • Size of nodes in the redis cluster (nodeSizing attribute). Ex: 2cpu2gb
    • storage needed on each data node of the redis cluster (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.
    • On which service the redis instance belongs to (serviceId attribute).
    • network ID of the cluster (networkId attribute).
    • Number of instances in the redis cluster which describe Topology (instanceCount attribute).Values must be 1 (STANDALONE) or 3 (HIGH_AVAILABILITY)
    • Persistence mode of the redis cluster (persistenceMode 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 /redis
    {
       "productCode": "redis72",
      "region" : "EB",
      "area": "EB-QA",
      "az": "az",
      "name": "Test123",
      "nodeSizing": "2cpu2gb",
      "diskSize": 40,
      "networkId": 1234511,
      "serviceId": 46922,
      "admPassword": "Test123@2022",
      "instanceCount": 1,
      "persistenceMode" : "PERSISTENT"
    }
    

    Delete RedisDB instance

    delete

    This method allows to delete a redis 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 /redis/123
    
    
    Authorizations
    OAuth2implicitRequired

    Get Redis Instance

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Update RedisDB instance

    patch

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

    Use the start operation to start a Redis instance.

    Starts kafka instance.

    This method is synchronous (status code 202).

    Example :

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

    Stop Redis instance

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

    This operation cannot be undone afterwards.

    This method is synchronous (status code 202).

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

    Resize Redis instance

    Use the resize operation to resize the nodes of the Redis instance and the instance itself.

    This operation cannot be undone afterwards.

    This method is asynchronous (status code 202).

    PATCH /redis/1234
    {
    	"operation":"resize",
    	"options": {
            "sizing": "2cpu4gb"
        }
    }
    

    Update Patch Party

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

    • 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 /redis/1234
    {
      "operation": "update_patch_party",
      "options": {
        "patchParty": {
            "excluded": false,
            "patchGroup": "3"
        }
     }
    }
    
    • Exclude from patch party body:
    PATCH /redis/1234
    {
      "operation": "update_patch_party",
      "options": {
        "patchParty": {
            "excluded": true,
            "exclusionReason": "I want to handle this by myself"
        }
     }
    }
    

    Get network information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get node information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Network cluster by id

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get a Network cluster information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get a Network cluster node information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Create a MariaDB instance

    post

    This method allows to create a Maria DB 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 Maria DB 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 maria DB cluster (nodeSizing attribute). Ex: 2cpu2gb
    • storage needed on each data node of the Maria DB cluster (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.
    • On which service the Maria DB instance belongs to (serviceId attribute).
    • network ID of the cluster (networkId attribute).
    • Number of instances in the Maria DB cluster (instanceCount attribute). Minimum 1 and maximum 3
    • topology of the Maria DB cluster (topology attribute). Either single or cluster

    optional fields:

    • TLS enabled boolean for the redis cluster (tlsEnabled 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 /mariadb
    {
      "": "deb10_mariadb_10_6",
      "region" : "EB",
      "area": "EB-QA",
      "az": "az",
      "name": "Test123",
      "nodeSizing": "2cpu2gb",
      "diskSize": 40,
      "networkId": 1234511,
      "serviceId": 46922,
      "admPassword": "Test123@2022",
      "instanceCount": 1,
      "topology" : "SINGLE"
    }
    

    Delete an existing MariaDB instance

    delete

    This method allows to delete a Maria DB 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 /mariadb/123
    
    
    Authorizations
    OAuth2implicit

    Get a MariaDB Instance available in the cloud

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Performs update state actions to an existing MariaDB instance

    patch

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

    Use the start operation to start a MariaDB instance.

    Starts kafka instance.

    This method is synchronous (status code 202).

    Example :

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

    Stop MariaDB instance

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

    This operation cannot be undone afterwards.

    This method is synchronous (status code 202).

    PATCH /compute/databases/mariadb/1234
    {
    	"operation":"stop"
    }
    

    Resize MariaDB instance

    Use the resize operation to resize the sizing of the MariaDB instance.

    This operation cannot be undone afterwards.

    This method is synchronous (status code 202).

    PATCH /compute/databases/mariadb/1234
    {
    	"operation":"resize",
    	"options" : {
    	  "sizing" : "2cpu4gb"
    	}
    }
    

    Update Patch Party

    Use the update_patch_party operation to update the patch party scheduled plan for the MariaDB 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 /mariadb/1234
    {
      "operation": "update_patch_party",
      "options": {
        "patchParty": {
            "excluded": false,
            "patchGroup": "3"
        }
     }
    }
    
    • Exclude from patch party body:
    PATCH /mariadb/1234
    {
      "operation": "update_patch_party",
      "options": {
        "patchParty": {
            "excluded": true,
            "exclusionReason": "I want to handle this by myself"
        }
     }
    }
    

    Get a MariaDB network information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get a MariaDB node information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List Kubernetes Containers

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Create Kubernetes Containers

    post

    This method allows to create a cluster.

    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)
    • the product code (productCode attribute).
    • which network is used (networkId attribute)
    • name of cluster (name attribute)
    • sizing of cluster (nodeSizing attribute)
    • number of nodes instances of your cluster (instanceCount attribute)
    • service in which you want to put your cluster (serviceId 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 /clusters
    {
    	"name": "PCLUSTER01",
    	"area": "EB",
    	"networkId": "ED145",
    	"serviceId": 123,
    	"nodeSizing":, "1cpu2gb"
    	"instanceCount": 2
    }
    

    List ingress providers

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Delete Kubernetes Containers

    delete

    This method allows to delete a K8s Cluster Container.

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

    DELETE /k8s-clusters/123
    
    
    DELETE /k8s-clusters/123
    {
        "changeReference": "rfc nunmber 456"
    }
    
    Authorizations

    Get detailed information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Update Kubernetes Containers

    patch

    This method allows to update a cluster.

    Structure of payload is generic and describes :

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

    Below are different operations currently implemented.

    Create Nodes

    Use the create_nodes operation to create the nodes of a cluster.

    Create nodes operation will add the new nodes in the cluster by availability zone. You can specify the availability zone you need in the request.

    This method is synchronous (status code 202).

    Example :

    PATCH /containers/kubernetes/1234
    {
        "operation": "create_nodes",
        "options": {
            "nodes": [
                {
                    "nodesNb": 1,
                    "nodeSizing": "2cpu4gb",
                    "az": "EB-A"
                },
                {
                    "nodesNb": 2,
                    "nodeSizing": "4cpu8gb",
                    "az": "EB-B"
                }
            ]
        }
    }
    

    you can also add isInternalIngressNode key in the options with true (which by default false) for Ingress Node.

    Example :

    PATCH /containers/kubernetes/1234
    {
        "operation": "create_nodes",
        "options": {
            "nodes": [
                {
                    "nodesNb": 1,
                    "nodeSizing": "2cpu4gb",
                    "az": "EB-A"
                },
                {
                    "nodesNb": 2,
                    "nodeSizing": "4cpu8gb",
                    "az": "EB-B"
                }
            ],
            "isInternalIngressNode": true
        }
    }
    

    Delete Nodes

    Use the delete_nodes operation to delete the nodes of a cluster.

    This operation cannot be undone afterwards.

    This method is synchronous (status code 202).

    PATCH /containers/kubernetes/1234
    {
    	"operation":"delete_nodes",
    	"options":{
    	    "nodes": ["11112","11113","11114"]
    	}
    }
    

    Enable High Availability - HA

    Use the enable_ha operation to enable the HA of a cluster.

    This operation cannot be undone afterwards.

    This method is synchronous (status code 202).

    PATCH /containers/kubernetes/1234
    {
    	"operation":"enable_ha"
    }
    

    Update Patch Party

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

    • 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 /containers/kubernetes/1234
    {
      "operation": "update_patch_party",
      "options": {
        "patchParty": {
            "excluded": false,
            "patchGroup": "3"
        }
     }
    }
    
    • Exclude from patch party body:
    PATCH /containers/kubernetes/1234
    {
      "operation": "update_patch_party",
      "options": {
        "patchParty": {
            "excluded": true,
            "exclusionReason": "I want to handle this by myself"
        }
     }
    }
    

    Upgrade

    Use the upgrade operation to upgrade the cluster.

    • Use the version option to set the target version to be installed.

    The requirements are :

    • step by step upgrade only : Use the /compute/platform/products?type=KUBERNETES to list all versions available for the cluster.
    • no downgrade possibility

    This method is synchronous (status code 202).

    PATCH /containers/kubernetes/1234
    {
      "operation": "upgrade",
      "options": {
        "version": "1.24"
     }
    }
    

    Get Kubernetes Containers loadbalancers

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Create Kubernetes Containers custom loadbalancers

    post
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Get stats distribution

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get network information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get node information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Delete Kubernetes Containers node

    delete

    This method allows to delete a Kubernetes cluster node.

    This operation cannot be undone afterwards.

    This method is synchronous (status code 202).

    To delete a Kubernetes node, the id of the Kubernetes cluster and the id of the node to delete must be specified.

    To list the nodes of the Kubernetes cluster, use the endpoint : GET /containers/kubernetes/{kuberneteId}/nodes/{nodeId}.

    Use the following to delete a node of a Kubernetes cluster.

    DELETE /containers/kubernetes/1234/nodes/4567
    

    To keep consistency on the Kubernetes cluster, please note that :

    • All nodes cannot be deleted.

    • All ingress nodes cannot be deleted.

    API users will have a BAD_REQUEST when trying to break one of the rule above.

    Create a PostgreSQL instance

    post

    This method allows to create a postgre SQL 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 postgre SQL 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 postgre SQL cluster (nodeSizing attribute). Ex: 2cpu2gb
    • storage needed on each data node of the postgre SQL cluster (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.
    • On which service the postgre SQL instance belongs to (serviceId attribute).
    • network ID of the cluster (networkId attribute).
    • Topology of the postgre SQL cluster (topology attribute). Either standalone / HA
    • trigram of the postgre SQL cluster (trigram attribute).
    • Allowed replication Lag of the postgre SQL (allowedReplicationLag attribute). The minimum size is 1 MB and maximum is 10240 MB

    HA topology extra fields: These fields are required for HA clusters:

    • prefix of the node names for postgre cluster (nodePrefix attribute). The prefix should be from 5 to 12 characters and can contain any uppercase character.
    • Availability zone of the postgre cluster (az attribute).
    • Trigram of the postgre cluster (trigram attribute).
    • TLS enabled boolean for the postgre cluster (tls 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 /postgresql
    {
       "productCode": "deb12pg16",
      "serviceId" : 123,
      "nodeSizing" : "2cpu4gb",
      "networkId" : 132,
      "area" : "EB-QA",
      "diskSize" : 40,
      "admPassword" : "Test123@2022",
      "allowedReplicationLag" : 10,
      "az" : "az",
      "topology" : "STANDALONE",
      "trigram" : "tri",
      "tls" : true,
      "name" : "NEWPOSTGRE01"
    }
    

    Delete PostgreSQL instance

    delete

    This method allows to delete a postgre SQL 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 /postgresql/123
    
    
    Authorizations
    OAuth2implicit

    Get a PostgreSQL instance

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Update PostgreSQL

    patch

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

    Use the start operation to start a PostgreSQL instance.

    Starts PostgreSQL instance.

    This method is asynchronous (status code 202).

    Example :

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

    Stop PostgreSQL instance

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

    This operation cannot be undone afterwards.

    This method is asynchronous (status code 202).

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

    Resize PostgreSQL instance

    Use the resize operation to resize the nodes of the PostgreSQL instance and the instance itself.

    This operation cannot be undone afterwards.

    This method is asynchronous (status code 202).

    PATCH /postgresql/1234
    {
    	"operation":"resize",
    	"options": {
            "sizing": "2cpu4gb"
        }
    }
    

    Restore PostgreSQL instance

    Use the restore operation to restore a PostgreSQL instance to another PostgreSQL instance with the same farm version.

    • the source instance must be backed up.
    • the source instance and destination farm must be ACTIVE
    • the timestamp must be between now and now - 14 days for production service and now - 7 days for non production service→ raise exception
    • timestamp should respect the format described in Json Schema (date-time) The following is correct : 2022-11-02T09:32:02.000+00:00

    The available stop options are BEFORE and AFTER.

    This method is asynchronous (status code 202).

    PATCH /postgresql/5678
    {
    	"operation": "restore",
    	"options": {
    	    "sourceId": 1234,
    	    "stop": "BEFORE",
    	    "timestamp": "2022-11-02T09:32:02.000+00:00"
    	}
    }
    

    Convert from Standalone to HA PostgreSQL instance

    Use the enable_ha operation to convert a PostgreSQL instance from Standalone to HA mode.

    • the replicationLag must be between 1 and 500.
    • The standalone instance must have a version greater or egal to 12.
    • changeReference is optional

    This method is asynchronous (status code 202).

    PATCH /postgresql/5678
    {
    	"operation": "enable_ha",
    	"options": {
    	    "replicationLag": 50,
    	    "changeReference": "000"
    	}
    }
    

    Update Patch Party

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

    • 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 /postgresql/1234
    {
      "operation": "update_patch_party",
      "options": {
        "patchParty": {
            "excluded": false,
            "patchGroup": "3"
        }
     }
    }
    
    • Exclude from patch party body:
    PATCH /postgresql/1234
    {
      "operation": "update_patch_party",
      "options": {
        "patchParty": {
            "excluded": true,
            "exclusionReason": "I want to handle this by myself"
        }
     }
    }
    

    Install PostgreSQL extension

    Use the install_extension operation to install an extension in the PostgreSQL.

    This method is asynchronous (status code 202).

    PATCH /postgresql/1234
    {
    	"operation":"install_extension",
    	"options": {
            "dbname": "mydb",
            "extensions_list": [
            		{"name": "ext1"},
            		{"name": "ext2"}
            ]
        }
    }
    

    Upgrade PostgreSQL version

    Use the upgrade operation to upgrade the PostgreSQL version.

    This method is asynchronous (status code 202).

    PATCH /postgresql/1234
    {
    	"operation":"upgrade",
    	"options": {
            "targetVersion": "12",
            "changeReference": "RFC 1234"
        }
    }
    

    Get databases

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get extensions

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get network informations

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get node information

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get versions

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List Load Balancers

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Create a Load Balancer

    post

    This method allows to create a LoadBalancer.

    You will have to know at the minimum :

    • the area of the region where you want to host your cluster (area attribute). Areas can be available in List Regions method.

    • url (url attribute). The url you want to create and respect URLs naming convention.

    • network ID of the cluster (networkId attribute).

    • On which service the LoadBalancer belongs to (serviceId attribute).

    • On which domain the url should be belong to (domain attribute).

    • Healthcheck to check that your url is responding (healthcheck attribute).

    • Persistence configuration (persistence attribute).

    • Port member : port on which the members of the loadbalancer should be listening to (portMembers attribute). Example: 80

    • Profile Names (profileName attribute). Ex : HTTP, HTTPS, TCP. For HTTP, profileName = 80.

    • Redirection rules (redirectToHttps attribute). Redirect to HTTPS or not.

    • Members (members attribute). Members of the loadbalancer

    optional fields:

    • Region (region attribute).
    • DNS setup (setUpDNSEnabled attribute). If True, the domain must support the DNS creation. If the attribut is set to True and the domain do not support DNS setup, an error 400 will be raised.
    • Network (networkId attribute). If not set, the system will choose the default network available on the Availability Zone.

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

    POST /loadbalancers
    {
      "url": "url.cegedim.com",
      "serviceId": 46922,
      "area": "EB-QA",
      "networkId": 4242,
      "healthcheck":"CDGM",
      "persistence": true,
      "portMembers": 80,
      "profileName": "HTTP",
      "redirectToHttps":false,
      "setUpDNSEnabled":false,
      "members": [
      {
    	 "id": 42,
    	 "network": {
    	   "id": 42,
    	   "ipAddress" : "1.2.3.4"
    	 }
      }
      ]
    }
    

    When the LoadBalancer supports SSL

    POST /loadbalancers
    {
      "url": "url.cegedim.com",
      "serviceId": 46922,
      "area": "EB-QA",
      "networkId": 4242,
      "healthcheck":"CDGM",
      "persistence": true,
      "portMembers": 80,
      "profileName": "HTTPS",
      "redirectToHttps":true,
      "setUpDNSEnabled":false,
      "sslProfile":"my_ssl_profle",
      "certificateName":"my_cert.crt",
      "members": [
      {
    	 "id": 42,
    	 "network": {
    	   "id": 42,
    	   "ip" : "1.2.3.4"
    	 }
      }
      ]
    }
    

    Get Load Balancer Internal Whitelist

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Load Balancer protocols

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Delete Load Balancer

    delete
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Get Load Balancers by id

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Update Load Balancer

    patch

    This method allows to update a load balancer.

    Structure of payload is generic and describes :

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

    Below are different operations currently implemented.

    Start Load Balancer

    Use the start operation to start the load balancer.

    This method is synchronous (status code 202).

    Example :

    PATCH /loadbalancers/1234
    {
        "operation": "start",
        "options": {
            "changeReference": "5678"
        }
    }
    

    Stop Load Balancer

    Use the stop operation to stop the load balancer.

    This method is synchronous (status code 202).

    PATCH /loadbalancers/1234
    {
        "operation": "stop",
        "options": {
            "changeReference": "5678"
        }
    }
    

    Create Bot Defense for Load Balancer

    Use the activate_bot operation to Update Security Profile for load balancer. Use the template with values strict, standard to set the template to be applied. Default template value is standard. Use the mode with values transparent, blocking to set the mode to be applied. Mode is optional and default mode is blocking.

    This method is synchronous (status code 202).

    PATCH /loadbalancers/1234
    {
        "operation": "activate_bot",
        "options": {
            "changeReference": "5678",
            "template": "strict",
            "mode" : "blocking"
        }
    }
    

    Update Bot Defense for Load Balancer

    Use the update_bot operation to Update Security Profile for load balancer. Use the template with values strict, standard to set the template to be applied. Default template value is standard. Use the mode with values transparent, blocking to set the mode to be applied. Mode is optional and default mode is blocking.

    This method is synchronous (status code 202).

    PATCH /loadbalancers/1234
    {
        "operation": "update_bot",
        "options": {
            "changeReference": "5678",
            "template": "strict",
            "mode" : "blocking"
        }
    }
    

    When the Security Profile is applied, Use the mode with values transparent, blocking to set the mode to be applied. Mode is optional and default mode is blocking. In transparent mode, requests considered to be malicious generate an alarm but are not blocked. blocking mode blocks the requests identified as malicious by Bot Defense

    PATCH /loadbalancers/1234
    {
        "operation": "update_bot",
        "options": {
            "changeReference": "5678",
            "mode" : "transparent"
        }
    }
    

    Delete Bot Defense Security Profile from Load Balancer

    When Security Profile is activated on a Load Balancer, the attribut botDefenseEnabled on the PATCH /loadbalancers/1234 is true. To remove the Bot Defense Security Profile from a Load Balancer, use : Use the delete_bot operation to remove Security Profile from the load balancer.

    This method is synchronous (status code 202).

    PATCH /loadbalancers/1234
    {
        "operation": "delete_bot",
        "options": {
            "changeReference": "5678"
        }
    }
    

    Update IP to whitelist for Load Balancer

    Use the edit_bot_whitelist operation to update/add IP to whitelist for load balancer.

    This method is synchronous (status code 202).

    PATCH /loadbalancers/1234
    {
        "operation": "edit_bot_whitelist",
        "options": {
            "ip": "10.0.3.40",
            "changeReference": "5678"
        }
    }
    

    Remove IP Address from whitelist for Load Balancer

    Use the delete_bot_whitelist operation to remove IP from whitelist for load balancer.

    This method is synchronous (status code 202).

    PATCH /loadbalancers/1234
    {
        "operation": "delete_bot_whitelist",
        "options": {
            "ip": "10.0.3.40",
            "changeReference": "5678"
        }
    }
    

    ** changeReference (optional) is the RFC Number if available.

    Get Load Balancer Events

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List Load Balancer Members

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Add Load Balancer Member

    post

    Add a member to an existing loadbalancer.

    The member must be a valid ITCare resource and must be in the same network as the other members of the loadbalancer.

    Request example :

    POST /compute/loadbalancers/my-service.cegedim.cloud/members
    {
        "resourceId": 5050706,
        "port": 80,
        "state": "enabled",
        "name": "REBITCGDM1032",
        "ip": "10.25.19.158"
    }
    

    Minimum payload must contain the following information :

    • resourceId : Mandatory, ITCare's resource's id to add
    • port : Mandatory, port of the member (0 to 65535)

    Other field will be ignored. The following payload is valid:

    POST /compute/loadbalancers/my-service.cegedim.cloud/members
    {
        "resourceId": 5050706,
        "port": 80,
    }
    

    This method is synchronous (status code 200) and will return loadbalancer's members list with the new member added :

    [
      {
        "resourceId": 1050975,
        "name": "PEB4APP01",
        "port": 443,
        "state": "enabled",
        "status": "up",
        "ip": "10.26.12.11"
      },
      {
        "resourceId": 1050976,
        "name": "PEB4APP02",
        "port": 443,
        "state": "enabled",
        "status": "up",
        "ip": "10.26.12.12"
      },
      {
        "resourceId": 898734,
        "name": "PEB4APP03",
        "port": 443,
        "state": "enabled",
        "status": "up",
        "ip": "10.26.12.13"
      }
    ]
    

    Note: New member will added with state enabled.

    Note: Member statistic are not included in the response body

    Delete a member from a Load Balancer pool

    delete
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Update Load Balancer pool member

    patch

    Set the state of a loadbalancer member.

    The member must be a valid ITCare resource and must be a member of the specified loadbalancer.

    Possible state value are :

    • enabled : Member is up and accept connection
    • disabled : Member is disabled and no longer accept new connection. Connections already established remain.
    • offline : Member is disabled and no longer accept new connection. Connections already established are interrupted.

    Example :

    PATCH /compute/loadbalancers/123/members/1050975
    {
      "operation": "disabled"
    }
    

    This method is synchronous (status code 200) and will return loadbalancer's member object :

      {
        "resourceId": 1050975,
        "name": PEB4APP01,
        "port": 443,
        "state": "disabled",
        "status": "up",
        "name": "PEB4APP01",
        "address": "10.26.12.11"
      }
    

    Get Load Balancer SSL profile configuration

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Get Load Balancer Stats

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    List URLs for a Load Balancer

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:

    Add a URL to a Load Balancer

    post

    This method allows to create a URL for a LoadBalancer.

    • name is the name of the url.
    • setUpDNSEnabled setup dns or not.

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

    POST /loadbalancers/124/urls
    {
      "name": "url.cegedim.com",
      "setUpDNSEnabled": false
    }
    
    Authorizations

    Delete a URL from a Load Balancer

    delete

    This method allows to delete a URL of Load Balancer.

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

    DELETE /loadbalancers/123/urls/456
    
    
    Authorizations

    List events of type Request for Change (RFC), Customer events and Maintenance slot

    get
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Tolérance à éviter dans l'app
    tolerations:
      - effect: NoSchedule
        operator: Exists
    Récupérer le statut de ITCare
    curl -X GET "https://api.cegedim.cloud/itcare/health"
    YYYY-MM-DDTHH:MM:SS.sssZ
    2016-06-01T12:27:19.000+0200
    ITCare-DryRun: true
    /"""
    Launch action and get its descriptor
    """
    action = itcare.post('/api/resource', payload=my_payload)
      
    """
    Loop on getting its status
    """
    while action['status']=='IN_PROGRESS':
        time.sleep(1)
        action = itcare.get('/api/actions/{}'.format(action['id']))
      
    """
    Print its status
    """
    print action['status']
     elasticsearch:
        flatten_hashes: true
        host: ostest.es.cegedim.cloud
        include_tag_key: true
        log_es_400_reason: true
        logstash_format: true
        logstash_prefix: myit-app-prod-frontend
        password:
          valueFrom:
            secretKeyRef:
              key: myit-app-prod_password
              name: it-cloud-eb.es.cegedim.cloud
        port: 443
        prefer_oj_serializer: true
        reconnect_on_error: true
        request_timeout: 30s
        scheme: https
        suppress_type_name: true
        user: myit-app-prod
      elasticsearch:
        default_elasticsearch_version: "7"
        flatten_hashes: true
        host: ostest.es.cegedim.cloud
        include_tag_key: true
        log_es_400_reason: true
        logstash_format: true
        logstash_prefix: myit-app-prod-frontend
        password:
          valueFrom:
            secretKeyRef:
              key: myit-app-prod_password
              name: it-cloud-eb.es.cegedim.cloud
        port: 443
        prefer_oj_serializer: true
        reconnect_on_error: true
        request_timeout: 30s
        scheme: https
        suppress_type_name: true
        user: myit-app-prod
        verify_es_version_at_startup: false

    Debian

    Oracle

    RHEL

    Ubuntu

    Windows

    Unix

    Load balancer

    Load Balancer

    Managed database

    MariaDB

    OpenSearch

    PostgreSQL

    Redis

    SQL Server

    Message broker

    Apache Kafka

    RabbitMQ

    Storage

    GlusterFS

    Sauvegarde ETCD

    Toutes les 2 heures avec 7 jours de rétention

    Sauvegarde des volumes persistants

    ✅

    Réplication de données (PRA)

    ✅ Option

    Haute disponibilité

    ✅ Option

    Disponibilité

    99,9%

    Choix de la région

    ✅

    Libre-service

    ✅

    Sauvegarde

    ✅ Option

    Réplication de données (PRA)

    ✅ Option

    Disponibilité

    99,8%

    Choix de la région et de la zone de disponibilité

    ✅

    Libre-service

    ✅

    Ajoute deux noeuds de données à un cluster existant (disponible uniquement pour les clusters avec un master dédié)

    Redimensionner les noeuds

    Redimensionne les noeuds d'un cluster

    Ajouter des noeuds d'ingestion

    Ajoute deux noeuds à un cluster existant (disponible uniquement pour les clusters avec un master dédié)

    Supprimer des noeuds

    Supprime deux noeuds d'un cluster existant (les noeuds doivent être dans des zones de disponibilité différentes, assez d'espace doit être disponible dans les noeuds restant du cluster, disponible uniquement pour les clusters avec un master dédié)

    Compte kibana

    Utilisé par le serveur de tableau de bord pour se connecter au cluster

    Compte support

    Utilisé par l'équipe de support de cegedim.cloud (il a un accès limité et ne peut pas lire les données d'index)

    Compte centreon

    Utilisé par le système de surveillance cegedim.cloud (il n'a accès qu'aux informations de surveillance)

    Compte prometheus

    Utilisé par le système de métrologie de cegedim.cloud (il n'a accès qu'aux informations de surveillance)

    Libre-service

    Le client peut effectuer des actions de manière autonome à l'aide d'ITCare.

    Sur requête

    Le client peut demander à l'équipe de support de cegedim.cloud de prendre les mesures nécessaires.

    Accès SSH

    L'accès SSH est désactivé et réservé aux administrateurs de cegedim.cloud

    Changement de configuration

    Sur requête via ticket

    Ajouter des noeuds

    Compte admin

    Autre compte

    Le super utilisateur peut accorder des privilèges à n'importe quel utilisateur.

    Accès SSH

    L'accès SSH est désactivé et réservé aux administrateurs de cegedim.cloud.

    Modifier des fichiers de configuration

    Sur demande avec un ticket.

    XS

    Suivi de 100 000 pages vues par mois ou moins

    S

    Suivi de 1 million de pages vues par mois ou moins

    M

    Suivi de 10 millions de pages vues par mois ou moins

    L

    Suivi de 100 millions de pages vues par mois ou moins

    XL

    Suivi de plus de 100 millions de pages vues par mois

    Libre-service

    Le client peut effectuer des actions de manière autonome à l'aide d'ITCare.

    Sur requête

    Le client peut demander à l'équipe de support de cegedim.cloud de prendre les mesures nécessaires.

    Mise à jour de Matomo

    La mise à jour peut être effectuée par le super utilisateur.

    Installer et activer des plugins

    Les plugins peuvent être installés par le super utilisateur à partir de l'interface web.

    Gérer les privilèges

    Available scopes:
    • : openid
    • : email
    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/environments
    Available scopes:
    • : openid
    • : email
    Query parameters
    typestring · enumRequired

    Compute resource types : a compute can be a service or a resource (instance, db, url, ... )

    Possible values:
    Responses
    200

    OK

    */*
    Responsestring[]
    400

    Bad Request

    */*
    get
    /compute/statuses
    Available scopes:
    • : openid
    • : email
    Query parameters
    keystringOptionalDefault: ""
    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/tag-values
    Available scopes:
    • : openid
    • : email
    Query parameters
    keystringOptionalDefault: ""
    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/tag-keys
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /hardwares/{id}
    Available scopes:
    • : openid
    • : email
    Responses
    200

    OK

    */*
    Responsestring[]
    400

    Bad Request

    */*
    get
    /compute/types
    Available scopes:
    • : openid
    • : email
    Query parameters
    namestringOptional
    withSNIbooleanOptional
    cloudsintegerOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /networking/domains
    Available scopes:
    • : openid
    • : email
    Path parameters
    domainIdinteger · int64Required

    1234, example: 1234

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /networking/domains/{domainId}
    Query parameters
    resourceNamestringOptional
    resourceIdinteger · int64Optional
    serviceIdinteger · int64Optional
    statusesstring[]Optional
    requestIdinteger · int64Optional
    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /actions
    Available scopes:
    • : openid
    • : email
    Path parameters
    actionIdinteger · int64Required
    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /actions/{actionId}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /networking/network-clusters/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /networking/network-clusters/{id}/networks
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /networking/network-clusters/{id}/nodes
    GET /itcare/compute/environments HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "name": "text",
        "types": [
          {
            "name": "text"
          }
        ]
      }
    ]
    GET /itcare/compute/statuses?type=SERVICE HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      "text"
    ]
    GET /itcare/compute/tag-values HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "tagKey": "text",
        "tagValue": "text"
      }
    ]
    GET /itcare/compute/tag-keys HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "tagKey": "text",
        "tagValue": "text"
      }
    ]
    GET /itcare/hardwares/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "backupPolicyDetails": {
        "backups": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "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",
      "creationTime": "text",
      "creationUser": "text",
      "dc": "text",
      "endOfCoverDate": "text",
      "endOfSalesAt": "2025-12-08T11:38:50.942Z",
      "endOfSupportAt": "2025-12-08T11:38:50.942Z",
      "environment": "text",
      "extendedSupportAt": "2025-12-08T11:38:50.942Z",
      "family": "text",
      "id": 1,
      "internalResourceId": 1,
      "internalType": "text",
      "ip": "text",
      "ipAddress": "text",
      "label": "text",
      "labelArea": "text",
      "labelAvailabilityZone": "text",
      "labelDataCenter": "text",
      "labelRegion": "text",
      "location": "text",
      "maintenanceType": "text",
      "metrologyUrl": "text",
      "model": "text",
      "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
      },
      "patchParty": {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "patchGroup": "text",
        "patchTag": "text"
      },
      "path": "text",
      "prettyLabel": "text",
      "productCode": "text",
      "productName": "text",
      "productVersion": "text",
      "rack": "text",
      "region": "text",
      "releasedAt": "2025-12-08T11:38:50.942Z",
      "replicationStatus": true,
      "resourceType": "text",
      "serial": "text",
      "serviceId": 1,
      "serviceKey": "text",
      "serviceName": "text",
      "status": "text",
      "sticker": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "supportPhase": "text",
      "technology": "text",
      "type": "text"
    }
    GET /itcare/compute/types HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      "text"
    ]
    GET /itcare/networking/domains HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "description": "text",
        "id": 1,
        "isManagedByCegedim": true,
        "isPublic": true,
        "name": "text",
        "sniDefault": true
      }
    ]
    GET /itcare/networking/domains/{domainId} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "description": "text",
      "id": 1,
      "isManagedByCegedim": true,
      "isPublic": true,
      "name": "text",
      "sniDefault": true
    }
    GET /itcare/actions HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "completedAt": "2025-12-08T11:38:50.942Z",
        "family": "text",
        "id": 1,
        "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
        "message": "text",
        "process": "text",
        "resourceName": "text",
        "resourceType": "text",
        "status": "SUCCESS,IN_PROGRESS,ERROR",
        "submittedAt": "2025-12-08T11:38:50.942Z",
        "submittedBy": "text"
      }
    ]
    GET /itcare/actions/{actionId} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "completedAt": "2025-12-08T11:38:50.942Z",
      "family": "text",
      "id": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR",
      "submittedAt": "2025-12-08T11:38:50.942Z",
      "submittedBy": "text"
    }
    GET /itcare/networking/network-clusters/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "allowMonitoringDisplay": true,
      "backupPolicyDetails": {
        "backups": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "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-12-08T11:38:50.942Z",
      "endOfSupportAt": "2025-12-08T11:38:50.942Z",
      "environment": "text",
      "extendedSupportAt": "2025-12-08T11:38:50.942Z",
      "family": "text",
      "id": 1,
      "internalResourceId": 1,
      "internalType": "text",
      "ipAddress": "text",
      "label": "text",
      "labelArea": "text",
      "labelAvailabilityZone": "text",
      "labelDataCenter": "text",
      "labelRegion": "text",
      "metrologyUrl": "text",
      "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
      },
      "nodeCount": 1,
      "patchParty": {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "patchGroup": "text",
        "patchTag": "text"
      },
      "path": "text",
      "prettyLabel": "text",
      "productCode": "text",
      "productName": "text",
      "productVersion": "text",
      "ram": 1,
      "releasedAt": "2025-12-08T11:38:50.942Z",
      "replicationStatus": true,
      "resourceType": "text",
      "serviceId": 1,
      "serviceKey": "text",
      "serviceName": "text",
      "sizing": "text",
      "status": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "supportPhase": "text",
      "technology": "text",
      "type": "text",
      "version": "text"
    }
    GET /itcare/networking/network-clusters/{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
      }
    ]
    GET /itcare/networking/network-clusters/{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-12-08T11:38:50.942Z",
          "size": 1,
          "type": "text"
        },
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "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,
            "name": "text",
            "serviceId": 1,
            "status": "text"
          }
        ],
        "metrologyUrl": "text",
        "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-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "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-12-08T11:38:50.942Z",
        "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-12-08T11:38:50.942Z",
          "createdBy": "text",
          "description": "text",
          "expiresAt": "2025-12-08T11:38:50.942Z",
          "id": "text",
          "label": "text",
          "recoveredAt": "2025-12-08T11:38:50.942Z",
          "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"
      }
    ]
    $ ssh johndoe@myinstance
     johndoe@myinstance's password: xxxxxx 
     Creating directory '/home/johndoe'. 
     johndoe@myinstance:~$
    johndoe@myinstance:~$ sudo -l
    Matching Defaults entries for johndoe on myinstance:
        env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
     
    User johndoe may run the following commands on myinstance:
        (ALL) NOPASSWD: ALL
        (ALL) NOPASSWD: ALL
    $ grep allow /etc/sssd/sssd.conf
    simple_allow_groups = LDAP_GROUP_ADMIN
    simple_allow_users = bernard
    // add one user
    $ realm permit --realm <domain> <user>
    
    // add multiple users
    $ realm permit --realm <domain> user1 user2 userX
    // add one group
    $ realm permit --realm <domain> --groups <group>
    
    // add multiple groups
    $ realm permit --realm <domain> --groups group1 group2 groupX
    // remove user
    $ realm permit --withdraw <user>
    
    // remove group
    $ realm permit --withdraw --groups <group>
    $ touch /etc/sudoers.d/devops
    $ visudo -f /etc/sudoers.d/devops
    # devops
    %G_GROUP_DEVOPS    ALL=(ALL)  NOPASSWD:ALL
    bernard            ALL=(ALL)  NOPASSWD:ALL

    Kubernetes 1.31

    ✅

    Kubernetes 1.31

    ✅

    Kubernetes 1.31 → Kubernetes 1.32

    Kubernetes 1.32

    ✅

    Kubernetes 1.31 → Kubernetes 1.32

    Kubernetes 1.28

    Ubuntu 22.04, 24.04

    Kubernetes 1.30

    Ubuntu 22.04, 24.04

    Kubernetes 1.32

    Ubuntu 20.04, 22.04, 24.04

    Kubernetes 1.28

    ✅

    Kubernetes 1.28 → Kubernetes 1.30

    ✅

    Kubernetes 1.28 → Kubernetes 1.30 → Kubernetes 1.31

    ✅

    Kubernetes 1.28 → Kubernetes 1.30 → Kubernetes 1.31 → Kubernetes 1.32

    Kubernetes 1.30

    ✅

    Kubernetes 1.30 → Kubernetes 1.31

    ✅

    Kubernetes 1.30 → Kubernetes 1.31 → Kubernetes 1.32

    https://github.com/doitintl/kube-no-trouble/issues

    Tolérance de panne : perte de 1 AZ

    ✅

    Tolérance de panne : perte de 1 DC

    ✅

    Compatible avec K8S 1.22+

    ✅

    Compatible avec K8S 1.22-

    ✅

    Ceph Cluster

    17.2.5

    CSI Ceph

    3.9.0

    cgdm-rwo

    Utiliser CSI Ceph rbd pour provisioner des volumes persistants ReadWriteOnce

    Réplication

    x4

    x4

    Tolérance de panne : Une AZ indisponible

    ✅

    ✅

    Tolérance de panne : Un DC indisponible

    ✅

    ✅

    Approvisionnement de nouveaux PV

    ✅

    Remonter le PV existant

    ✅

    Compatible avec toutes les applications K8S

    ✅

    Montage multiple (RWX)

    ❌

    Redimensionnable

    ✅

    Aperçu

    ✅

    cgdm-rwo

    Ceph RBD

    :

    Surveillance

    ✅ Option

    ✅ Option

    Surveillance 24x7

    ✅ Option

    ✅ Option

    Sauvegarde

    ✅ Option

    ✅ Option

    Réplication de données (PRA)

    ✅ Option

    ✅ Option

    Disponibilité

    99,8%

    99,9%

    Déploiement multi-AZ

    ❌

    ✅

    Libre-service

    ✅

    ✅

    Instance

    1

    2

    CPU (par instance)

    2 - 16 vCPU

    2 - 16 vCPU

    RAM (par instance)

    4 - 384 Go

    4 - 384 Go

    Versions supportées

    10, 11, 12, 13, 14, 15, 16

    PostgreSQL - Architecture

    12, 13, 14, 15, 16

    TLS/SSL

    ✅ Option

    ✅ Option

    Surveillance

    ✅ Option

    ✅ Option

    Surveillance 24x7

    ✅ Option

    ✅ Option

    Sauvegarde

    ✅ Option

    ✅ Option

    Réplication de données (PRA)

    ✅ Option

    ✅ Option

    Disponibilité

    99,8%

    99,9%

    Déploiement multi-AZ

    ❌

    ✅

    Libre-service

    ✅

    ✅

    Instance(s)

    1

    3

    CPU (par instance)

    2 - 16 vCPU

    2 - 16 vCPU

    RAM (par instance)

    4 - 384 Go

    4 - 384 Go

    Version(s) supportée(s)

    • 6.2

    • 7.2

    Redis - Architecture
    • 6.2

    • 7.2

  • Centos

  • Debian

  • Ubuntu

  • Red Hat Linux Enterprise (RHEL)

  • Oracle Linux

  • Oracle Linux 9 propose deux noyaux : l'un entièrement compatible avec RedHat 9 et l'autre qualifié d'« incassable », optimisé pour les applications Oracle.

    Renforcement de la sécurité sur Linux

    Le renforcement (hardening) est appliqué sur certaines distributions Linux récentes telles que Debian 11, Debian 12, Ubuntu 22, Ubuntu 24, Oracle Linux 9 et RHEL 9. Voici les différentes parties du système concernées par ce durcissement :

    • Application stricte des paramètres de sécurité réseau

    • Protection des systèmes de fichiers sensibles

    • Limitation des méthodes de connexion aux protocoles robustes et schémas de chiffrement renforcés utilisés via SSH

    • Désactivation du chargement dynamique des modules du noyau

    Windows

    Windows Server est disponible comme système d'exploitation pour votre Instance Virtuelle. cegedim.cloud supporte plusieurs versions de Windows Server 2016 à Windows Server 2025.

    Renforcement de la sécurité sur Windows Server

    Depuis la version Windows Server 2022, le durcissement est appliqué sur les instances virtuelles, sur la base de recommandations officielles Microsoft et du benchmark CIS (Centre Internet Securité) pour s'aligner sur les dernières normes et meilleures pratiques afin de garantir la santé du système d'exploitation Windows.

    AIX

    cegedim.cloud supporte le système d'exploitation IBM AIX sur les systèmes IBM Power. La version actuellement supportée est la version majeure 7 et les versions de niveau technologique associées.

    Régions

    Les instances virtuelles sont disponibles dans les centres de données cegedim.cloud suivants :

    • EB4 - Boulogne-Billancourt, France

    • EB5 - Magny-les-Hameaux, France

    • ET1 - Labège, France

    • ET2 - Balma, France

    Ressources

    Une Instance Virtuelle peut être configurée et personnalisée selon vos besoins :

    • Calcul : nombre de vCPU

    • RAM : quantité de mémoire allouée (varie en fonction du nombre de vCPU)

    • Stockage : disques et stockage supplémentaires en Go à allouer à l'instance virtuelle

    Fonctionnalités

    Cette section énumère les fonctions / capacités disponibles pour le client, et la manière de les demander / de les exécuter :

    Libre service

    Le client peut effectuer une action de manière autonome.

    Sur demande

    Le client peut demander à l'équipe de support de cegedim.cloud de prendre les mesures nécessaires via un ticket.

    Fonctionnalités
    Libre service
    Sur demande
    Commentaires

    Accès SSH ou RDP

    L'accès SSH ou RDP est autorisé et automatiquement fourni au demandeur de l'instance virtuelle.

    Démarrer, arrêter, redémarrer, supprimer et redimensionner une instance virtuelle

    Actions disponibles en libre-service dans notre outil de gestion de la plateforme en nuage ITCare.

    Créer, supprimer, restaurer un instantané

    Sécurité

    Authentification

    L'authentification dans l'instance virtuelle est basée sur Active Directory pour Linux et Windows (pas pour AIX qui reste en utilisateurs locaux). L'utilisateur demandeur sera automatiquement ajouté en tant qu'administrateur de l'instance virtuelle. Cet utilisateur est ensuite libre de configurer et d'ajouter d'autres utilisateurs avec les privilèges souhaités.

    Sauvegarde

    La sauvegarde est une option qui peut être activée pour votre instance virtuelle. Dans un environnement de production, l'option de sauvegarde sera toujours activée par défaut dans ITCare.

    Vous pouvez désactiver l'option de sauvegarde à vos risques et périls.

    Les sauvegardes sont effectuées tous les jours et sauvegardées dans le centre de données local, puis répliquées dans un second centre de données sur le campus. La durée de conservation des sauvegardes pour les instances virtuelles est de 28 jours par défaut, mais elle peut être adaptée à vos besoins avec votre Service Delivery Manager.

    La date de la dernière sauvegarde et l'empreinte de stockage de la sauvegarde peuvent être consultées directement dans ITCare sur la page des détails de la ressource de votre instance virtuelle.

    Surveillance

    Comme indiqué, les instances virtuelles sont gérées et la surveillance est donc assurée si l'option a été cochée. Dans un environnement de production, l'option de surveillance est toujours activée par défaut.

    Vous pouvez désactiver l'option de surveillance à vos risques et périls.

    En activant la surveillance, plusieurs contrôles de santé seront déployés pour s'assurer que votre instance virtuelle fonctionne et reste saine. Si l'un de ces contrôles est déclenché, notre équipe de support est avertie par un ticket afin de résoudre le problème dans le cadre du niveau d'accord de service autorisé.

    Ces alertes de surveillance peuvent être consultées directement dans ITCare et des métriques de performance sont également fournies pour les indicateurs clés tels que le CPU, la mémoire, le disque et la consommation du réseau.

    Surveillance 24x7

    Lorsque la surveillance est activée, elle n'est effective que pendant les heures ouvrées. Pour étendre la surveillance en dehors des heures ouvrées, l'option 24x7 peut être activée et des frais supplémentaires seront appliqués.

    Cette option garantit que votre instance virtuelle est surveillée à tout moment par notre équipe de support et que des mesures seront prises pour escalader et résoudre tout problème.

    La surveillance 24x7 n'est pas obligatoire et ne peut être activée que lorsque l'option de surveillance est activée.

    Réplication de données

    La réplication des données est une fonction qui permet la protection de la reprise après sinistre. Lorsque cette fonction est activée, les données de votre instance virtuelle sont répliquées depuis la baie de stockage locale vers une baie de stockage hors site.

    Cela signifie qu'en cas de perte du centre de données local, vos données sont toujours en sécurité dans un autre centre de données et la procédure de restauration et de relance de votre Instance Virtuelle peut être activée.

    Vous pouvez désactiver l'option de réplication à vos risques et périls.

    BI et analytique : SQL Server fournit des outils et des services pour l’analyse, le reporting et la visualisation des données, permettant aux utilisateurs de tirer des enseignements des données stockées afin de prendre des décisions basées sur les données.

  • Sécurité et intégrité des données : Il propose des fonctionnalités de sécurité solides, telles que l’authentification, le contrôle d’accès et le chiffrement, pour protéger les données sensibles contre tout accès ou modification non autorisé.

  • Haute disponibilité et évolutivité : SQL Server prend en charge des fonctionnalités comme le clustering, la bascule en cas de panne et la réplication pour assurer une disponibilité continue des données et pour répondre aux exigences croissantes en adaptant l’infrastructure de la base de données en termes de taille ou de performance.

  • Plateforme en tant que Service

    SQL Server est déployé sur site dans les centres de données de cegedim.cloud .

    Le même niveau de service que l'offre Compute est garanti : le déploiement des instances, la maintenance en condition opérationnelle, la flexibilité, la sécurité et la surveillance sont ainsi assurés par nos experts.

    SQL Server 2016, 2017, 2019 et 2022 sont déployables en libre-service via notre plateforme de gestion de cloud ITCare.

    Deux éditions sont supportées : Standard et Entreprise.

    Deux topologies sont disponibles :

    • Instance autonome

    • Cluster Always On

    La topologie de cluster Always On est prête pour la production mais n'est produite que sur demande. Seule la version SQL Server 2022 Enterprise est disponible en libre-service.

    Le dimensionnement peut être configuré selon vos besoins.

    Instance autonome
    Cluster Always On

    Instances

    1

    3

    CPU (par instance)

    2 - 16 vCPU

    2 - 16 vCPU

    RAM (par instance)

    8 - 384 Go

    8 - 384 Go

    Version(s) supportée(s)

    • 2016

    • 2017

    • 2019

    • 2022

    Pour plus d'information, veuillez consulter la page SQL Server - Architecture.

    Facturation

    La facturation est basée sur le nombre de nœuds, plus des coûts supplémentaires pour le stockage, la sauvegarde, surveillance 24/7.

    Les coûts sont disponibles auprès de votre Service Delivery Manager.

    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Query parameters
    namesstring[]Optional

    Names, example: matomo1

    cloudsstringOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /analytics/matomo
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Body
    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.

    defaultWebSiteNamestringRequired

    Default website name to be configured in Matomo, if left empty, a dummy value will be configured

    defaultWebUristringRequired

    Default website url to be configured in Matomo, if left empty, a dummy value will be configured

    namestringRequired

    Name of Matomo Instance

    Pattern: [a-z0-9\-]{4,60}$
    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.

    passwordstringRequired

    Password to connect to the matomo instance.

    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.

    sizingstringRequired

    Sizing. L, XL , XS, S, M. Sizing for matomo instances

    supportLevelstring · enumOptional

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

    Possible values:
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /analytics/matomo

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /analytics/matomo/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /analytics/matomo/{id}
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Body
    operationstringOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    patch
    /analytics/matomo/{id}
    Available scopes:
    • : openid
    • : email
    Query parameters
    servicesinteger · int64[]Optional
    namesstring[]Optional

    Names, example: resource01,!resource02,resource42

    typesstring[]Optional

    Types, example: TOMCAT or WILDFLY or WEB_ZONE

    familiesstring[]Optional

    Families, example: DEBIAN,CENTOS,RHEL

    environmentsstring[]Optional

    Environments, example: PRODUCTION,DEVELOPMENT

    statusesstring[]Optional

    Status, example: ACTIVE,INACTIVE

    tagsstring[]Optional

    Tags, example: mytagkey:mytagvalue,application:itcare

    backupStatusbooleanOptional

    Filter list by backup status

    recoveryStatusbooleanOptional

    Filter list by DRP status

    includedInPatchPartybooleanOptional

    Filter list by patch party status

    azstring[]Optional

    Availability Zone, example: EB-A, EB-B, EB-C, etc...

    ipstring[]Optional

    IPs, example: 10.59.13.29

    vlanstring[]Optional

    VLAN, example: EB_1125_DMZ8

    cloudsintegerOptional
    pagestringOptional

    Results page you want to retrieve (0..N)

    sizestringOptional

    Number of records per page.

    sortanyOptional

    Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria is not supported.

    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/application-servers
    Available scopes:
    • : openid
    • : email
    Query parameters
    allbooleanOptional

    true = display all technologies, false = display only technologies on which resources are available, example: false

    dashboardstringOptional

    "WIZARD" for types for creation wizard "DISPLAY" for display dashboard

    Default: WIZARD
    cloudsintegerOptional
    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/resource-types
    Available scopes:
    • : openid
    • : email
    Path parameters
    typestringRequired

    Type, example: LINUX, WINDOWS, SQLSERVER, APACHE_KAFKA

    Query parameters
    cloudsintegerOptional
    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/resource-types/{type}/technologies
    Available scopes:
    • : openid
    • : email
    Query parameters
    namesstring[]Optional

    Names, example: resource01,!resource02,resource42

    environmentsstring[]Optional

    Environments, example: PRODUCTION,DEVELOPMENT

    statusesstring[]Optional

    Statuses, example: ACTIVE,INACTIVE

    tagsstring[]Optional

    Tags, example: mytagkey:mytagvalue,application:itcare

    sortanyOptional

    Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria is not supported.

    directionstringOptional
    cloudsintegerOptional
    pagestringOptional

    Results page you want to retrieve (0..N)

    sizestringOptional

    Number of records per page.

    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/services
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Service Id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Query parameters
    categorystringOptional

    Category, example: INSTANCES

    Default: ""
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{id}/actions-in-progress
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Service Id, example: 44411

    Query parameters
    namesstring[]Optional

    Names, example: REBMYAPP01,REBMYSRV

    backupbooleanOptional

    Backup

    drpbooleanOptional

    Drp

    statusesstring[]Optional

    Statuses, example: ACTIVE,INACTIVE,PREPARATION

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{id}/application-servers
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Service Id, example: 44411

    Query parameters
    namesstring[]Optional

    Broker name, example: deblaprmq01

    statusesstring[]Optional

    Broker status, example: ACTIVE

    versionsstring[]Optional

    Broker version, example: 3.9

    sizesstring[]Optional

    Broker size, example: 4cpu8gb

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{id}/brokers
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Service Id, example: 44411

    Query parameters
    namesstring[]Optional

    Names, example: PET1

    statusesstring[]Optional

    Statuses, example: ACTIVE,INACTIVE,PREPARATION

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{id}/hardwares
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Service Id, example: 44411

    Query parameters
    namesstring[]Optional

    Names, example: REBMYAPP01,REBMYSRV

    familiesstring[]Optional

    Families, example: DEBIAN,RHEL

    backupbooleanOptional

    Backup

    drpbooleanOptional

    Drp

    withManagedNodesbooleanOptional

    withManagedNodes

    withApplicationServersbooleanOptional

    withApplicationServers

    withOracleDbsbooleanOptional

    withOracleDbs

    withMongoNodeJsbooleanOptional

    withMongoNodeJs

    withAppliancesbooleanOptional

    withAppliances

    statusesstring[]Optional

    Statuses, example: ACTIVE,INACTIVE,PREPARATION

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{id}/instances
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Service Id, example: 44411

    Query parameters
    namesstring[]Optional

    Names, example: REBMYAPP01,REBMYSRV

    statusesstring[]Optional

    Statuses, example: ACTIVE,INACTIVE,PREPARATION

    versionsstring[]Optional

    Versions, example: EB,ET,NK

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{id}/kubernetes
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Service Id, example: 44411

    Query parameters
    namesstring[]Optional

    Names, example: www.cegedim.com,www.egypt.eg

    statusesstring[]Optional

    Statuses, example: ACTIVE,INACTIVE,PREPARATION

    nodesinteger · int32Optional

    Number of Members, example: 2

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{id}/loadbalancers
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Service Id, example: 44411

    Query parameters
    namesstring[]Optional

    Names, example: www.cegedim.com,www.egypt.eg

    statusesstring[]Optional

    Statuses, example: ACTIVE,INACTIVE,PREPARATION

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{id}/managed-databases
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Service Id, example: 44411

    Query parameters
    namesstring[]Optional

    Names, example: PET1

    statusesstring[]Optional

    Statuses, example: ACTIVE,INACTIVE,PREPARATION

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{id}/network-clusters
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Service Id, example: 44411

    Query parameters
    withHistorybooleanOptional

    boolean flag to fetch history details for every ci

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{id}/patch-policies
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Service Id, example: 44411

    Bodyobject[]

    Update Patch party configuration for resources of a service

    excludedbooleanOptional
    exclusionReasonstringOptional
    patchGroupstringOptional
    resourceIdinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    patch
    /compute/services/{id}/patch-policies
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Service Id, example: 44411

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{id}/relations
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Service Id, example: 44411

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{id}/relations/stats
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Service Id, example: 44411

    Query parameters
    namesstring[]Optional

    Names, example: REBMYAPP01,REBMYSRV

    categoriesstring[]Optional

    Categories, example: INSTANCES,APPLICATION_SERVERS,LOAD_BALANCERS

    statusesstring[]Optional

    Statuses, example: ACTIVE,INACTIVE,PREPARATION

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{id}/resources
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Service Id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{id}/stats
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Service Id, example: 44411

    Query parameters
    namesstring[]Optional

    Names, example: devvcaglfs02

    statusesstring[]Optional

    Statuses, example: ACTIVE,INACTIVE,PREPARATION

    sizesstringOptional

    Sizing of the resource, example: 2cpu4gb

    nodeCountinteger · int32Optional

    Number of nodes, example: 2

    vipstringOptional

    IP Address, ex: 10.10.10.10

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{id}/storage
    Available scopes:
    • : openid
    • : email
    Path parameters
    serviceIdinteger · int64Required

    Service Id, example: 500063721

    Query parameters
    actionsstring[]Optional

    Actions, example: enable_monitoring

    statusesstring[]Optional

    Statuses, example: SUCCESS

    namesstring[]Optional

    Names, example: REBITTEST01

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/services/{serviceId}/history
    Query parameters
    servicesinteger · int64[]Optional
    namesstring[]Optional

    Names, example: resource01,!resource02,resource42

    typesstring[]Optional

    Types, example: WINDOWS,AIX,LINUX

    familiesstring[]Optional

    Families, example: DEBIAN,CENTOS,RHEL

    environmentsstring[]Optional

    Environments, example: PRODUCTION,DEVELOPMENT

    statusesstring[]Optional

    Status, example: ACTIVE,INACTIVE

    tagsstring[]Optional

    Tags, example: mytagkey:mytagvalue,application:itcare

    restorebooleanOptional

    Filter List for Restore

    versioninteger · int32Optional

    Database Version, example: 11

    backupStatusbooleanOptional

    Filter list by backup status

    recoveryStatusbooleanOptional

    Filter list by DRP status

    includedInPatchPartybooleanOptional

    Filter list by patch party status

    topologiesstring[]Optional

    Topology, example: AlwaysOn, Galera, Replica Set, Cluster, Standalone, HA, etc..

    versionsstring[]Optional

    Version, example: 2.11.0, 2022 EE, etc...

    azstring[]Optional

    Availability Zone, example: EB-A, EB-B, EB-C, etc...

    ipstring[]Optional

    IPs, example: 10.59.13.29

    vlanstring[]Optional

    VLAN, example: EB_1125_DMZ8

    cloudsintegerOptional
    pagestringOptional

    Results page you want to retrieve (0..N)

    sizestringOptional

    Number of records per page.

    sortanyOptional

    Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria is not supported.

    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /databases
    Available scopes:
    • : openid
    • : email
    Query parameters
    servicesinteger · int64[]Optional
    namesstring[]Optional

    Names, example: resource01,!resource02,resource42

    environmentsstring[]Optional

    Environments, example: PRODUCTION,DEVELOPMENT

    statusesstring[]Optional

    Status, example: ACTIVE,INACTIVE

    tagsstring[]Optional

    Tags, example: mytagkey:mytagvalue,application:itcare

    backupStatusbooleanOptional

    Filter list by backup status

    recoveryStatusbooleanOptional

    Filter list by DRP status

    includedInPatchPartybooleanOptional

    Filter list by patch party status

    topologiesstring[]Optional

    Topology, example: Cluster

    versionsstring[]Optional

    Version, example: v1.26.15, v1.28.13, etc...

    virtualIpsstring[]Optional

    VirtualIp, example: 127.0.0.1, 127.0, 127, 10.%.62

    azstring[]Optional

    Availability Zone, example: EB-A, EB-B, EB-C, etc...

    ipstring[]Optional

    IPs, example: 10.59.13.29

    vlanstring[]Optional

    VLAN, example: EB_1125_DMZ8

    cloudsintegerOptional
    pagestringOptional

    Results page you want to retrieve (0..N)

    sizestringOptional

    Number of records per page.

    sortanyOptional

    Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria is not supported.

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /storage/glusterfs
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Body
    admPasswordstringRequired

    The user 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 volume configured within the configuration process of the GlusterFs cluster

    namestringRequired

    Name of GlusterFs cluster

    Pattern: [a-z0-9_\-]{5,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.

    nodeSizingstringRequired

    Node sizing for cluster

    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:
    user_namestringRequiredPattern: [a-z0-9_\-]{1,32}$
    Responses
    201

    Created

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /storage/glusterfs
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /storage/glusterfs/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /storage/glusterfs/{id}
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Body
    operationstringOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    patch
    /storage/glusterfs/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /storage/glusterfs/{id}/networks
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /storage/glusterfs/{id}/nodes
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /storage/glusterfs/{id}/volumes
    Available scopes:
    • : openid
    • : email
    Query parameters
    platformId, example: deb8stringOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /topology/regions

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    regionIdstringRequiredExample: EB
    areaIdstringRequiredExample: EB-INT
    Query parameters
    domainstringRequired
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /topology/regions/{regionId}/areas/{areaId}/certificates

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    regionIdstringRequiredExample: EB
    areaIdstringRequiredExample: EB-INT
    Query parameters
    certificatestringOptionalDefault: ""
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /topology/regions/{regionId}/areas/{areaId}/ssl-profiles

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    regionstringRequired

    Region Name, example: EB

    Query parameters
    withAreasbooleanOptional

    Include Areas

    Default: false
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /topology/regions/{region}
    Required

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    regionstringRequired

    Region Name, example: EB

    Query parameters
    platformIdstringOptional

    Platform Id, example: deb10

    withAvailabilityZonesbooleanOptional

    Include Availability Zone

    Default: true
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /topology/regions/{region}/areas
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    regionstringRequired

    Region Name, example: EB

    areastringRequired

    Area Name, example: EB-QA

    azstringRequired

    AZ Name, example: EB-QA-A

    Query parameters
    scope, example: frontendstringOptional
    environment, example: productionstringOptional
    onlyNonFull, example: falsebooleanOptional
    onlyLoadBalancer, example: falsebooleanOptional
    cloudsintegerOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /topology/regions/{region}/areas/{area}/availability-zones/{az}/networks
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    regionstringRequired

    Region Name, example: EB

    areastringRequired

    Area Name, example: EB-QA

    azstringRequired

    AZ Name, example: EB-QA-A

    networkstringRequired

    Network Id, example: 123

    Query parameters
    platform, example: deb11stringOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /topology/regions/{region}/areas/{area}/availability-zones/{az}/networks/{network}/authentication-domains
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    regionstringRequired

    Region Name, example: EB

    areastringRequired

    Area Name, example: EB-QA

    Query parameters
    cloudsintegerOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /topology/regions/{region}/areas/{area}/healthchecks
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    regionstringRequired

    Region Name, example: EB

    areastringRequired

    Area Name, example: EB-QA

    Query parameters
    scope, example: privatestringOptional
    environment, example: productionstringOptional
    onlyNonFull, example: falsebooleanOptional
    cloudsintegerOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /topology/regions/{region}/areas/{area}/loadbalancers-networks
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    regionstringRequired

    Region Name, example: EB

    areastringRequired

    Area Name, example: EB-QA

    Query parameters
    scope, example: frontendstringOptional
    onlyNonFull, example: falsebooleanOptional
    onlyLoadBalancer, example: falsebooleanOptional
    cloudsintegerOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /topology/regions/{region}/areas/{area}/networks
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Body
    admPasswordstringRequired

    The admin password

    Pattern: ^(?=.*\d)(?=.*[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.

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

    Number of brokers to create in Kafka cluster

    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: 40 · max: 1024Required

    The storage needed on each data node of the ELS cluster

    namestringRequired

    Name of Kafka cluster

    Pattern: (?!cluster$)([a-z0-9_]{5,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.

    nodePrefixstring · min: 5 · max: 12Required

    Prefix of the node names for Kafka cluster

    Pattern: [A-Z0-9]{5,12}$
    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
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /message-brokers/apache-kafka
    implicit
    Required

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /message-brokers/apache-kafka/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /message-brokers/apache-kafka/{id}
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Body
    operationstringOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    patch
    /message-brokers/apache-kafka/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /message-brokers/apache-kafka/{id}/networks
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /message-brokers/apache-kafka/{id}/nodes
    Available scopes:
    • : openid
    • : email
    Query parameters
    serviceIdinteger · int64Required

    Service Id, example: 1234

    availabilityZonestringOptional

    availabilityZone

    policyTypestring · enumRequired

    policyType, example: SERVER

    Possible values:
    backupReplicatedbooleanOptional

    backupReplicated

    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/backup-policies
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    BackupPolicy Id, example: 123

    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/backup-policies/{id}
    Query parameters
    resourceIdinteger · int64Optional

    Resource Id, example: 123

    nodeinteger · int64[]Optional

    Resource/Node Ids, example: 123

    Default: []
    idinteger · int64[]Optional

    Resource Ids : urls or members, example: 123

    Default: []
    typestring · enumOptional

    Operation Type

    Possible values:
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    Responseobject[]
    400

    Bad Request

    */*
    get
    /operations
    Available scopes:
    • : openid
    • : email
    Query parameters
    servicesinteger · int64[]Optional
    namesstring[]Optional

    Names, example: resource01,!resource02,resource42

    environmentsstring[]Optional

    Environments, example: PRODUCTION,DEVELOPMENT

    statusesstring[]Optional

    Status, example: ACTIVE,INACTIVE

    tagsstring[]Optional

    Tags, example: mytagkey:mytagvalue,application:itcare

    cloudsintegerOptional
    pagestringOptional

    Results page you want to retrieve (0..N)

    sizestringOptional

    Number of records per page.

    sortanyOptional

    Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria is not supported.

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/sqlserver
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Body
    alwaysOnbooleanOptional

    Cluster/Basic Always On, example: true

    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.

    asCollactionstringOptional

    Collation for Analysis Services

    asServerModeEntstringOptional

    Modelisation type

    asServerModeStdstringOptional

    Modelisation type, example: TABULAR

    authenticationDomainIdstringOptional

    authentication domain id, example: CGDM-EMEA

    availabilityModestringOptional

    Cluster availability mode, example: Synchronous_commit

    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
    collationstringRequired

    Database Collation, example: French_BIN

    customerPasswordstringRequired

    Customer Password

    dbBackupPolicyIdstringOptional

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

    failoverModestringOptional

    Cluster failover mode, example: Read-intent_only

    fullTextbooleanOptional

    Whether Full-Text search is enabled or not

    listenerNamestringOptional

    Cluster listener name, example: rhusqllsnr01

    namestringRequired

    Name of SQL Server

    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.

    nodeCountinteger · int32Optional

    cluster nodes number, example: 3

    nodeSizingstringRequired

    Node sizing for cluster

    prefixstringOptional

    Prefix name of SQL Server

    productCodestringRequired

    code of product., example: mssql2k22se for SQL Server 2022 Standard

    readableSecondarystringOptional

    Cluster readable secondary, example: YES, NO, READ_ONLY

    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.

    specificRequeststringOptional

    specific request to be done by an administrator. Can differ delivery of instance up to 24h., example: Could you please install .NET framework 4.5 on instance ? Thanks.

    ssasbooleanOptional

    SQL Server Analysis Services (SSAS)

    ssisbooleanOptional

    SQL Server Integration Services (SSIS)

    ssrsbooleanOptional

    SQL Server Reporting Services (SSRS)

    supportLevelstring · enumOptional

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

    Possible values:
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /databases/sqlserver
    OAuth2
    implicit
    Required

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Body

    Parameters when deleting a resource

    changeReferencestring · max: 10Optional

    Optional reference for change

    Responses
    202

    Accepted

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /databases/sqlserver/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/sqlserver/{id}
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Body

    Object describing a partial modification of an object to perform. Please refer to documentation to get list of operations available and their specific payload.

    operationstringRequired

    Operation to perform on target object, example: operation_name

    Responses
    202

    Accepted

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    patch
    /databases/sqlserver/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/sqlserver/{id}/networks
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/sqlserver/{id}/nodes
    Available scopes:
    • : openid
    • : email
    Path parameters
    namestringRequired
    Query parameters
    propertystring · enumOptionalDefault: NAMEPossible values:
    Responses
    200

    OK

    No content

    400

    Bad Request

    */*
    head
    /databases/sqlserver/{name}

    No content

    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    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.

    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

    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

    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:
    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
    /message-brokers/rabbitmq
    Required

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /message-brokers/rabbitmq/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /message-brokers/rabbitmq/{id}
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Body
    operationstringOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    patch
    /message-brokers/rabbitmq/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /message-brokers/rabbitmq/{id}/networks
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /message-brokers/rabbitmq/{id}/nodes
    Available scopes:
    • : openid
    • : email
    Query parameters
    servicesinteger · int64[]Optional
    namesstring[]Optional

    Names, example: resource01,!resource02,resource42

    typesstring[]Optional

    Types, example: WINDOWS,AIX,LINUX

    familiesstring[]Optional

    Families, example: DEBIAN,CENTOS,RHEL

    environmentsstring[]Optional

    Environments, example: PRODUCTION,DEVELOPMENT

    statusesstring[]Optional

    Status, example: ACTIVE,INACTIVE

    tagsstring[]Optional

    Tags, example: mytagkey:mytagvalue,application:itcare

    backupStatusbooleanOptional

    Filter list by backup status

    recoveryStatusbooleanOptional

    Filter list by DRP status

    includedInPatchPartybooleanOptional

    Filter list by patch party status

    topologiesstring[]Optional

    Topology, example: Cluster, Standalone, etc..

    versionsstring[]Optional

    Version, example: 2.7.0, 3.6.0, 3.9.29-1, etc...

    azstring[]Optional

    Availability Zone, example: EB-A, EB-B, EB-C, etc...

    ipstring[]Optional

    IPs, example: 10.59.13.29

    vlanstring[]Optional

    VLAN, example: EB_1125_DMZ8

    cloudsintegerOptional
    pagestringOptional

    Results page you want to retrieve (0..N)

    sizestringOptional

    Number of records per page.

    sortanyOptional

    Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria is not supported.

    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /message-brokers
    Available scopes:
    • : openid
    • : email
    Query parameters
    typestringOptional

    Type, example: KUBERNETES

    cloudsintegerOptional
    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/platform/products
    Available scopes:
    • : openid
    • : email
    Path parameters
    idstringRequired

    Platform, example: cent7, ubu22

    Query parameters
    storagebooleanOptional

    Storage specification of platform (disks / max sizes...)

    sizingsbooleanOptional

    Resource profiles (CPU/RAM) that can be allocated to instances.

    propertiesbooleanOptional

    Properties specification of platform (package / script, backup type...)

    cloudsintegerOptional
    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/platform/products/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idstringRequired

    Platform, example: cent7, ubu22

    Query parameters
    cloudsintegerOptional
    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/platform/products/{id}/regions
    Available scopes:
    • : openid
    • : email
    Query parameters
    resourcesinteger · int64[]Optional

    Resource Id, example: 1234

    servicesinteger · int64[]Optional

    Service Id, example: 56789

    platformsstring[]Optional

    Platform, example: Debian 8

    phasesstring[]Optional

    Support Phases, example: STANDARD,EXTENDED

    startstring · date-timeOptional

    Start Date (ISO8601 format), example: 2022-07-22T00:00:00.000Z

    cloudsintegerOptional
    pagestringOptional

    Results page you want to retrieve (0..N)

    sizestringOptional

    Number of records per page.

    sortanyOptional

    Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria is not supported.

    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/platform/resources-obsolescence
    Available scopes:
    • : openid
    • : email
    Query parameters
    cloudsintegerOptional
    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/platform/stats/global
    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Query parameters
    platformstringOptional

    Platform name, example: PaaS OpenSearch

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/platform/support-policy
    implicit
    Required

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Query parameters
    servicesinteger · int64[]Optional
    idsinteger · int64[]Optional

    IDs, example: 123,456,789

    namesstring[]Optional

    Names, example: resource01,!resource02,resource42

    typesstring[]Optional

    Types, example: WINDOWS,AIX,LINUX

    familiesstring[]Optional

    Families, example: DEBIAN,CENTOS,RHEL

    versionsstring[]Optional

    Versions, example: DEBIAN_10,CENTOS_6,RHEL_5

    environmentsstring[]Optional

    Environments, example: PRODUCTION,DEVELOPMENT

    statusesstring[]Optional

    Status, example: ACTIVE,INACTIVE

    tagsstring[]Optional

    Tags, example: mytagkey:mytagvalue,application:itcare

    azstring[]Optional

    Availability Zone, example: EB-A, EB-B, EB-C, etc...

    ipstring[]Optional

    IPs, example: 10.59.13.29

    vlanstring[]Optional

    VLAN, example: EB_1125_DMZ8

    cloudsintegerOptional
    pagestringOptional

    Results page you want to retrieve (0..N)

    sizestringOptional

    Number of records per page.

    sortanyOptional

    Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria is not supported.

    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/resources
    Available scopes:
    • : openid
    • : email
    Query parameters
    servicesinteger · int64[]Optional

    Service Ids, example: 1234

    environmentsstring[]Optional

    Environment, example: PRODUCTION,QA

    typesstring[]Optional

    Technologies of resource. For exemple LINUX,KUBERNETES

    consummablebooleanOptional

    Count statistic with uncategorized types

    kindstringOptional

    global|count|obsolescence|service|network, example: global

    startstring · date-timeOptional

    Start Date (ISO8601 format), example: 2022-07-22T00:00:00.000Z

    cloudsintegerOptional
    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/resources/metrics
    Available scopes:
    • : openid
    • : email
    Query parameters
    resourceIdsinteger · int64[]Required
    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/resources/parents
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/resources/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/resources/{id}/backup-policies
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Body
    descriptionstringOptional
    Responses
    204

    No Content

    400

    Bad Request

    */*
    patch
    /compute/resources/{id}/comments

    No content

    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/resources/{id}/dns-aliases
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    Body

    Model to update a DNS Record

    fqdnstringOptional
    typestringOptional
    valuestringOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /compute/resources/{id}/dns-aliases
    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    fqdnstringRequired

    FQDN to delete, example: my.fqdn.cegedim.cloud

    Responses
    200

    OK

    No content

    400

    Bad Request

    */*
    delete
    /compute/resources/{id}/dns-aliases/{fqdn}

    No content

    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/resources/{id}/farm-networks

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    Query parameters
    actionsstring[]Optional

    Actions, example: enable_monitoring

    statusesstring[]Optional

    Statuses, example: SUCCESS

    cloudsintegerOptional
    pagestringOptional

    Results page you want to retrieve (0..N)

    sizestringOptional

    Number of records per page.

    sortanyOptional

    Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria is not supported.

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/resources/{id}/history
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 500060340

    Query parameters
    typestringRequired

    type, example: MESSAGE_BROKERS

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/resources/{id}/loadbalancers
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/resources/{id}/networks
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 500060340

    Query parameters
    typestringRequired

    type, example: MESSAGE_BROKERS

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/resources/{id}/nodes

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/resources/{id}/parent
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/resources/{id}/patch-policy

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64RequiredExample: 123
    Body

    Simple key/value object to put on resources (services, instances, loadbalancers) to be able to search across resources easily, and to benefit dynamic resource groups.

    tagKeystringRequired

    Key of tag

    tagValuestringRequired

    Value of tag

    Responses
    204

    No Content

    400

    Bad Request

    */*
    delete
    /compute/resources/{id}/tags

    No content

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/resources/{id}/tags

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64RequiredExample: 123
    Body

    Simple key/value object to put on resources (services, instances, loadbalancers) to be able to search across resources easily, and to benefit dynamic resource groups.

    tagKeystringRequired

    Key of tag

    tagValuestringRequired

    Value of tag

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /compute/resources/{id}/tags

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64RequiredExample: 123
    Bodyobject[]

    Simple key/value object to put on resources (services, instances, loadbalancers) to be able to search across resources easily, and to benefit dynamic resource groups.

    tagKeystringRequired

    Key of tag

    tagValuestringRequired

    Value of tag

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    put
    /compute/resources/{id}/tags
    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/resources/{id}/urls
    Available scopes:
    • : openid
    • : email
    Path parameters
    namestringRequired
    Query parameters
    typestringOptional
    Responses
    200

    OK

    No content

    400

    Bad Request

    */*
    head
    /compute/resources/{name}

    No content

    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Query parameters
    technologiesstring[]Optional

    Product technology, example: MARIADB or KUBERNETES or...

    cloudsintegerOptional
    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/resource-filters
    Available scopes:
    • : openid
    • : email
    Query parameters
    filtersstring[]Optional

    Filter by technicalId or shortDescription, example: CB_1800_QA_CHS_BACK_DMZ,!EB_0007_SERVEURS,EBCAM_0470_TOIP

    publicIpbooleanOptional

    publicIp

    environmentsstring[]Optional

    Environments, example: QA

    scopesstring[]Optional

    Scopes, example: frontend , backend

    regionsstring[]Optional

    Regions, example: EB,NK

    cloudsintegerOptional
    pagestringOptional

    Results page you want to retrieve (0..N)

    sizestringOptional

    Number of records per page.

    sortanyOptional

    Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria is not supported.

    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /networking/networks
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Query parameters
    scope, example: frontendstringOptional
    environment, example: productionstringOptional
    onlyNonFullbooleanOptional
    cloudsintegerOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /networking/networks/{id}/loadbalancers-networks
    Available scopes:
    • : openid
    • : email
    Query parameters
    namesstring[]Optional

    Names, example: overdrive1

    cloudsintegerOptional
    pagestringOptional

    Results page you want to retrieve (0..N)

    sizestringOptional

    Number of records per page.

    sortanyOptional

    Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria is not supported.

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /storage/overdrive
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Body
    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.

    driveSiteUristringRequired

    Define the Drive URL to be configured in OverDrive

    namestringRequired

    Name of OverDrive Instance

    Pattern: [a-z0-9\-]{4,60}$
    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.

    passwordstringRequired

    Password to connect to the OverDrive instance.

    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.

    sizingstringRequired

    Sizing. L, XL , XS, S, M. Sizing for OverDrive instances

    supportLevelstring · enumOptional

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

    Possible values:
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /storage/overdrive
    Required

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /storage/overdrive/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /storage/overdrive/{id}
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Body
    operationstringOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    patch
    /storage/overdrive/{id}
    Available scopes:
    • : openid
    • : email
    Query parameters
    servicesinteger · int64[]Optional
    namesstring[]Optional

    Names, example: resource01,!resource02,resource42

    typesstring[]Optional

    Types, example: WINDOWS,AIX,LINUX

    familiesstring[]Optional

    Families, example: DEBIAN,CENTOS,RHEL

    environmentsstring[]Optional

    Environments, example: PRODUCTION,DEVELOPMENT

    statusesstring[]Optional

    Status, example: ACTIVE,INACTIVE

    tagsstring[]Optional

    Tags, example: mytagkey:mytagvalue,application:itcare

    backupStatusbooleanOptional

    Filter list by backup status

    recoveryStatusbooleanOptional

    Filter list by DRP status

    includedInPatchPartybooleanOptional

    Filter list by patch party status

    azstring[]Optional

    Availability Zone, example: EB-A, EB-B, EB-C, etc...

    ipstring[]Optional

    IPs, example: 10.59.13.29

    vlanstring[]Optional

    VLAN, example: EB_1125_DMZ8

    cloudsintegerOptional
    pagestringOptional

    Results page you want to retrieve (0..N)

    sizestringOptional

    Number of records per page.

    sortanyOptional

    Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria is not supported.

    Responses
    200

    OK

    */*
    400

    Bad Request

    */*
    get
    /compute/instances
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Body

    Describes the instance to be created.

    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.

    authenticationDomainIdstringOptional

    authentication domain id, if not set, will take default, example: CGDM-EMEA

    availabilityZonestringOptional

    Availability zone id. Refer to AZ available in List Availability Zones method. If absent, default AZ of region will be used.

    azstringOptional
    backupEnabledbooleanOptional

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

    backupOffSiteEnabledbooleanOptional

    Indicates if backup off site (data replicated to another region) has to be setup on instance. If absent, backup off site 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.

    namestringRequired

    hostname of instance. Must be unique, and fit naming rules convention., example: PEB4MYAPP01

    networkIdinteger · int64Optional

    Network id. Refer to networks available in List Networks method. If absent, a default network of AZ will be used.

    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.

    platformstringOptional

    id of platform (image) of instance. To discover available platforms, use ListPlatforms method, example: deb8 for Debian 8

    productCodestringOptional

    code of product., example: rmq11 for RabbitMQ 11

    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

    resourceIdstringRequired

    identifier of resources (cpu/ram) that will be allocated to the instance. Use List Platforms method to see resources available for each of them., example: 1cpu2gb

    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.

    specificRequeststringOptional

    specific request to be done by an administrator. Can differ delivery of instance up to 24h., example: Could you please install .NET framework 4.5 on instance ? Thanks.

    storagePoolstringOptional
    supportLevelstring · enumOptional

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

    Possible values:
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /compute/instances
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Body

    Parameters when deleting a resource

    changeReferencestring · max: 10Optional

    Optional reference for change

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /compute/instances/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/instances/{id}
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Body
    operationstringOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    patch
    /compute/instances/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/instances/{id}/networks
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/instances/{id}/snapshots
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    patch
    /compute/instances/{id}/snapshots
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    Body
    changeReferencestring · max: 10Optional

    Optional change reference

    descriptionstring · max: 100Optional

    Snapshot description

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /compute/instances/{id}/snapshots
    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    snapshotIdstringRequired

    Snapshot Id, example: 123-snap-42

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /compute/instances/{id}/snapshots/{snapshotId}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/instances/{id}/storage
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    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
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /databases/opensearch
    Required

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /databases/opensearch/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 500060248

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/opensearch/{id}
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Body
    operationstringOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    patch
    /databases/opensearch/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/opensearch/{id}/networks
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/opensearch/{id}/nodes
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    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 maria DB

    instanceCountinteger · int32Required

    Number of instances to create for mariadb

    namestringRequired

    Name of Redis DB

    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

    persistenceModestringRequired
    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:
    tlsEnabledbooleanOptional
    vmPrefixstringOptional

    Prefix of the virtual machine names for Redis DB

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /databases/redis

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /databases/redis/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 500059535

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/redis/{id}
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Body
    operationstringOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    patch
    /databases/redis/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/redis/{id}/networks
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/redis/{id}/nodes
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    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.

    authenticationDomainstringOptional
    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 maria DB

    instanceCountinteger · int32Required

    Number of instances to create for mariadb

    namestringRequired

    Name of maria DB

    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.

    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:
    topologystring · enumRequiredPossible values:
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /databases/mariadb
    Required

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /databases/mariadb/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Id, example: 500062133

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/mariadb/{id}
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Id, example: 123

    Body
    operationstringOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    patch
    /databases/mariadb/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/mariadb/{id}/networks
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/mariadb/{id}/nodes
    Available scopes:
    • : openid
    • : email
    Query parameters
    servicesinteger · int64[]Optional
    namesstring[]Optional

    Names, example: resource01,!resource02,resource42

    environmentsstring[]Optional

    Environments, example: PRODUCTION,DEVELOPMENT

    statusesstring[]Optional

    Status, example: ACTIVE,INACTIVE

    tagsstring[]Optional

    Tags, example: agkey:mytagvalue,application:itcare

    backupStatusbooleanOptional

    Filter list by backup status

    recoveryStatusbooleanOptional

    Filter list by DRP status

    includedInPatchPartybooleanOptional

    Filter list by patch party status

    topologiesstring[]Optional

    Topology, example: Standard, HA

    versionsstring[]Optional

    Version, example: v1.26.15, v1.28.13, etc...

    regionsstring[]Optional

    Region, example: EB,ET

    azstring[]Optional

    Availability Zone, example: EB-A, EB-B, EB-C, etc...

    ipstring[]Optional

    IPs, example: 10.59.13.29

    vlanstring[]Optional

    VLAN, example: EB_1125_DMZ8

    cloudsintegerOptional
    pagestringOptional

    Results page you want to retrieve (0..N)

    sizestringOptional

    Number of records per page.

    sortanyOptional

    Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria is not supported.

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/containers/kubernetes
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Body

    Describes the k8s container to be created.

    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.

    ingressProviderstring · enumRequired

    Kubernetes Container Ingress Providers

    Possible values:
    instanceCountinteger · int32 · min: 2 · max: 12Required

    Number of instances to create in k8s cluster

    namestringRequired

    Name of k8s cluster

    Pattern: [a-z0-9\-]+
    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

    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
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /compute/containers/kubernetes
    Available scopes:
    • : openid
    • : email
    Responses
    200

    OK

    */*
    Responsestring[]
    400

    Bad Request

    */*
    get
    /compute/containers/kubernetes/ingress-providers
    OAuth2
    implicit
    Required

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Body

    Parameters when deleting a resource

    changeReferencestring · max: 10Optional

    Optional reference for change

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /compute/containers/kubernetes/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Resource Id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/containers/kubernetes/{id}
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    K8s Cluster Id, example: 123

    Body
    operationstringOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    patch
    /compute/containers/kubernetes/{id}
    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    K8sCluster Id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/containers/kubernetes/{id}/loadbalancers
    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    K8sCluster Id, example: 123

    Body

    Describes a load balancer.

    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.

    backupEnabledbooleanOptional

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

    certificateNamestringOptional

    certificate of the load balancer., example: wildcard_cegedim.com

    cloudIdinteger · int64Optional
    dbBackupPolicyIdstringOptional

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

    healthcheckstringRequired

    healtcheck of load balancer., example: http

    networkIdinteger · int64Optional

    Network id. Refer to networks available in List Networks method. If absent, a default network of AZ will be used.

    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.

    persistencebooleanOptional
    portMembersstringRequired

    port member of load balancer., example: 80, 443, ...

    profileNamestringRequired

    profile name of load balancer.

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

    setUpDNSEnabledbooleanOptional

    Indicates if a DNS record is to be set. If absent, set to false.

    sslProfilestringOptional

    ssl profile of the load balancer., example: profile_wildcard.cegedim.com_secure

    supportLevelstring · enumOptional

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

    Possible values:
    urlstringRequired

    url of load balancer. Must be unique, and fit naming rules convention., example: url.cegedim.com

    Pattern: ^(https?:\\/\\/)?(www\\.)?[a-zA-Z][a-zA-Z0-9.-]{2,63}+$
    vsPortinteger · int32Optional

    port of load balancer in case of TCP VS Profile

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /compute/containers/kubernetes/{id}/loadbalancers
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    K8sCluster Id, example: 123

    Query parameters
    typestringRequired

    type, example: az-distribution | dc-distribution

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/containers/kubernetes/{id}/metrics
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/containers/kubernetes/{id}/networks
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /compute/containers/kubernetes/{id}/nodes
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    nodeIdinteger · int64Required

    id, example: 456

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /compute/containers/kubernetes/{id}/nodes/{nodeId}
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Body
    anyOptional
    or
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /databases/postgresql
    Required

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /databases/postgresql/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 500061854

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/postgresql/{id}
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 123

    Body
    operationstringOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    patch
    /databases/postgresql/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 500061854

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/postgresql/{id}/databases
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 500061854

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/postgresql/{id}/extensions
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/postgresql/{id}/networks
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /databases/postgresql/{id}/nodes
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 500061854

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    Responseinteger · int64[]
    400

    Bad Request

    */*
    get
    /databases/postgresql/{id}/versions
    Available scopes:
    • : openid
    • : email
    Query parameters
    servicesinteger · int64[]Optional
    namesstring[]Optional

    Names, example: resource01,!resource02,resource42

    environmentsstring[]Optional

    Environments, example: PRODUCTION,DEVELOPMENT

    statusesstring[]Optional

    Status, example: ACTIVE,INACTIVE

    tagsstring[]Optional

    Tags, example: mytagkey:mytagvalue,application:itcare

    botdefensebooleanOptional
    urlsstring[]Optional

    URLs, example: .cegedim.cloud

    iRulesstring[]Optional

    IRules, iRule-Redirect-gis-workflow

    defaultPersistencestring[]Optional

    Default Persistence, example: cookie,hash, or source_addr etc...

    fallbackPersistencestring[]Optional

    Fallback Persistence, example: dest_addr, source_addr, etc...

    loadBalancingModestring[]Optional

    Load Balancing Mode, example: least-connections-node, round-robin, etc...

    protocolsstring[]Optional

    Protocols, example: HTTP, HTTPS, MYSQL, etc...

    vlanstring[]Optional

    VLAN, example: EB_1125_DMZ8

    cloudsintegerOptional
    pagestringOptional

    Results page you want to retrieve (0..N)

    sizestringOptional

    Number of records per page.

    sortanyOptional

    Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria is not supported.

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /networking/loadbalancers
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Body

    Describes a load balancer.

    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.

    backupEnabledbooleanOptional

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

    certificateNamestringOptional

    certificate of the load balancer., example: wildcard_cegedim.com

    cloudIdinteger · int64Optional
    dbBackupPolicyIdstringOptional

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

    healthcheckstringRequired

    healtcheck of load balancer., example: http

    networkIdinteger · int64Optional

    Network id. Refer to networks available in List Networks method. If absent, a default network of AZ will be used.

    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.

    persistencebooleanOptional
    portMembersstringRequired

    port member of load balancer., example: 80, 443, ...

    profileNamestringRequired

    profile name of load balancer.

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

    setUpDNSEnabledbooleanOptional

    Indicates if a DNS record is to be set. If absent, set to false.

    sslProfilestringOptional

    ssl profile of the load balancer., example: profile_wildcard.cegedim.com_secure

    supportLevelstring · enumOptional

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

    Possible values:
    urlstringRequired

    url of load balancer. Must be unique, and fit naming rules convention., example: url.cegedim.com

    Pattern: ^(https?:\\/\\/)?(www\\.)?[a-zA-Z][a-zA-Z0-9.-]{2,63}+$
    vsPortinteger · int32Optional

    port of load balancer in case of TCP VS Profile

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /networking/loadbalancers
    Available scopes:
    • : openid
    • : email
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    Responsestring[]
    400

    Bad Request

    */*
    get
    /networking/loadbalancers/internal-whitelist
    Available scopes:
    • : openid
    • : email
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /networking/loadbalancers/protocols
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Body

    Parameters when deleting a resource

    changeReferencestring · max: 10Optional

    Optional reference for change

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /networking/loadbalancers/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /networking/loadbalancers/{id}
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Load Balancer Id, example: 123

    Body

    Object describing a partial modification of an object to perform. Please refer to documentation to get list of operations available and their specific payload.

    operationstringRequired

    Operation to perform on target object, example: operation_name

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    patch
    /networking/loadbalancers/{id}
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    id, example: 500067154

    Query parameters
    fromstring · date-timeRequired

    From Date (ISO8601 format), example: 2023-03-15T00:00:00.000Z

    tostring · date-timeRequired

    To Date (ISO8601 format), example: 2023-03-16T00:00:00.000Z

    typestringOptional

    type, example: security

    Default: security
    criteriastringOptional

    criteria, example: bot

    Default: bot
    sizeinteger · int32Optional

    size, example: 20

    Default: 20
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /networking/loadbalancers/{id}/events
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /networking/loadbalancers/{id}/members
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Body
    addressstringOptional

    IP address of the member.

    categorystringOptional

    Category of the member

    familystringOptional

    Family of the member

    internalTypestringOptional

    Internal type of the member of the member

    labelAreastringOptional

    Area on which the member is located

    namestringOptional

    Name of the member on the loadbalancer

    portinteger · int32 · max: 65535Required

    port of the member., example: 80, 443, ...

    productNamestringOptional

    Name of the member of the member

    resourceIdinteger · int64Required

    Id of the resource. Required when an operation is performed.

    serviceIdinteger · int64Optional

    serviceId on which this member belongs to

    statestringOptional

    Member state. (enabled, disabled, offline)

    statusstringOptional

    Status of the member. (up, down, user_down)

    technicalIdstringOptional

    Technical Network on which the member is located

    technologystringOptional

    Technology of the member

    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /networking/loadbalancers/{id}/members
    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    memberIdstringRequired
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /networking/loadbalancers/{id}/members/{memberId}
    Authorizations
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    memberIdstringRequired
    Body
    operationstringOptional
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    patch
    /networking/loadbalancers/{id}/members/{memberId}
    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Query parameters
    urlstringOptional

    url, example: url

    Default: url
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /networking/loadbalancers/{id}/ssl-profiles
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /networking/loadbalancers/{id}/stats
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    get
    /networking/loadbalancers/{id}/urls
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required
    Body

    Describes a load balancer.

    namestringRequired

    url of load balancer. Must be unique, and fit naming rules convention., example: url.cegedim.com

    Pattern: ^(https?:\\/\\/)?(www\\.)?[a-zA-Z][a-zA-Z0-9.-]{2,63}+$
    setUpDNSEnabledbooleanOptional

    Indicates if a DNS record is to be set. If absent, set to false.

    sslProfilestringOptional

    ssl profile of the load balancer., example: profile_wildcard.cegedim.com_secure

    supportLevelstring · enumOptional

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

    Possible values:
    Responses
    202

    Accepted

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    post
    /networking/loadbalancers/{id}/urls
    OAuth2implicitRequired

    OAuth2 flow

    Authorization URL:
    Available scopes:
    • : openid
    • : email
    Path parameters
    idinteger · int64Required

    Load Balancer Id, example: 123

    urlIdinteger · int64Required

    Load Balancer Url Id, example: 123

    Responses
    202

    Accepted

    application/vnd.cegedim-it.v1+json
    400

    Bad Request

    */*
    delete
    /networking/loadbalancers/{id}/urls/{urlId}
    Available scopes:
    • : openid
    • : email
    Query parameters
    environmentsstring[]Optional

    Event environments

    Example: ALL,NON_PROD,PROD
    startstring · date-timeOptional

    Start Date (ISO8601 format)

    Example: 2022-04-01T22:00:00.000Z
    endstring · date-timeOptional

    End Date (ISO8601 format)

    Example: 2022-04-30T22:00:00.000Z
    Responses
    200

    OK

    application/vnd.cegedim-it.v1+json
    get
    /changes
    200

    OK

    10.6

    Surveillance

    ✅ Option

    ✅ Option

    Surveillance 24x7

    ✅ Option

    ✅ Option

    Sauvegarde

    ✅ Option

    ✅ Option

    Réplication de données (PRA)

    ✅ Option

    ✅ Option

    Disponibilité

    99,8%

    99,9%

    Déploiement multi-AZ

    ❌

    ✅

    Libre-service

    ✅

    ✅

    PostgreSQL - Mise à jour

    Processus de mise à niveau

    Requête

    La mise à jour d'un PaaS PostgreSQL est de la responsabilité de cegedim.cloud et peut être demandée via un soumis depuis ITCare en précisant un créneau de disponibilité pour l'opération.

    Merci de préciser si celle-ci doit être réalisée en heures non ouvrées pour planification d'une RFC.

    Il est recommandé de procéder à la mise à jour de vos environnements de non production d'abord afin de pouvoir estimer le temps d'interruption généré par l'opération ainsi que de recetter vos applications dans la nouvelle version du moteur.

    Déroulement

    La mise à jour d'un déploiement PostgreSQL (mono-instance ou haute disponibilité) se déroule en deux étapes complètement automatisées :

    • Mise à jour du système d'exploitation préalable

      • Plusieurs mises à jour selon le scénario : Debian 9 → Debian 10 → Debian 11 -> Debian 12

    • Mise à jour du moteur PostgreSQL dans la version cible

    Selon la version source et cible de PostgreSQL, il peut donc être nécessaire de migrer d'abord le système d'exploitation dans une version supportée par cegedim.cloud (voir ).

    Impacts

    • La durée d'une mise à jour est variable selon :

      • Les ressources cpu et ram configurées

      • La quantité de données dont les entêtes doivent être modifiés par le moteur PostgreSQL.

      • La quantité de données à réindexer suite au changement de librairie C, après une mise à jour de l'OS.

    Temps de référence

    A titre indicatif, voici les durées pour chaque étape d'une mise à jour d'une base de données pgbench de 100 Go :

    • Mise à jour de Debian : 10 minutes en moyenne

    • Réindexation PostgreSQL : 5 minutes en moyenne

    • Mise à jour de PostgreSQL : 1 minute en moyenne

    • Checksum PostgreSQL : 3 minutes en moyenne

    En mode PostgreSQL HA, nous devons également mettre à jour le réplica et le synchroniser avec le leader :

    • Synchronisation PostgreSQL : 4 minutes en moyenne

    Durée moyenne totale pour une base de données de 100GB : 40 minutes

    Matrice de support OS / PostgreSQL

    Distribution Linux supportées par cegedim.cloud en fonction de la version de PostgreSQL :

    Versions de PostgreSQL
    Distribution Linux supportée

    Chemins de mises à jour PostgreSQL supportés

    La mise à jour du système d'exploitation, si elle a lieu, peut nécessiter une réindexation complète (aussi prise en charge par cegedim.cloud) du fait des évolutions de la librairie C lors de la mise à jour du système d'exploitation.

    Selon la quantité de données, cette opération peut prendre un certains temps.

    Ci-dessous les chemins de mises à jour supportés par cegedim.cloud :

    Version Source
    PostgreSQL 11
    PostgreSQL 12
    PostgreSQL 13
    PostgreSQL 14
    PostgreSQL 15
    PostgreSQL 16

    * Une migration du système d'exploitation est requise.

    ** Une double migration du système d'exploitation est requise.

    *** Une triple migration du système d'exploitation est requise.

    Contact - Cegedim CloudCegedim Cloud

    OpenSearch - Didacticiels

    Déployer un cluster

    Connectez-vous à la plateforme ITCare, recherchez le service global auquel attacher le cluster et cliquez dessus.

    Cliquez sur le bouton Créer une ressource dans votre Service Global et sélectionnez OpenSearch. Donnez un nom unique au cluster et définissez un nom de préfixe qui sera utilisé pour nommer les machines virtuelles. Cliquez sur Suivant.

    Sélectionnez le nombre de nœuds et la taille des nœuds. Cliquez sur Suivant.

    Sélectionnez le volume de stockage. Cliquez sur Suivant.

    Redis - Didacticiels

    Comment provisionner un PaaS Redis ?

    Pour commencer, rendez-vous sur ITCare et recherchez votre service global cible où vous créerez votre nouveau déploiement Redis.

    Recherchez votre service Global dans la barre de recherche supérieure et cliquez dessus pour afficher sa page d'information.

    Une fois dans votre Service Global, cliquez sur le bouton Créer une ressource, sélectionnez Redis et la version requise.

    Remplir le formulaire :

    Matomo - The Google Analytics alternative that protects your dataAnalytics Platform - Matomo
    sh -c "$(curl -sSL 'https://git.io/install-kubent')"
    kubent [--context my-cluster]
    ...
    __________________________________________________________________________________________
    >>> Deprecated APIs removed in 1.22 <<<
    ------------------------------------------------------------------------------------------
    KIND                       NAMESPACE      NAME                                   API_VERSION                         REPLACE_WITH (SINCE)
    Ingress                    <undefined>     toto                                 networking.k8s.io/v1beta1           networking.k8s.io/v1 (1.19.0)
    ...
    $ kubectl get sc
    NAME                 PROVISIONER           RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
    cgdm-rwo (default)   rbd.csi.ceph.com      Delete          Immediate           true                   57d
    $ kubectl get  volumesnapshotclass
    NAME       DRIVER                DELETIONPOLICY   AGE
    cgdm-rwo   rbd.csi.ceph.com      Delete           36d
    kubectl get sc
    NAME               PROVISIONER      RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
    cgdm-rwo (default) rbd.csi.ceph.com Delete        Immediate         true                 42d
    GET /itcare/analytics/matomo HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "content": [
        {
          "actionsInProgress": [
            {
              "family": "text",
              "id": 1,
              "internalId": 1,
              "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
              "message": "text",
              "process": "text",
              "resourceName": "text",
              "resourceType": "text",
              "status": "SUCCESS,IN_PROGRESS,ERROR"
            }
          ],
          "availableActions": [
            {
              "available": true,
              "operation": "text",
              "unavailabilityCauses": [
                "text"
              ]
            }
          ],
          "backupPolicyDetails": {
            "backups": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "id": 1,
                "type": "text"
              }
            ],
            "policies": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "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",
          "creationTime": "text",
          "creationUser": "text",
          "endOfSalesAt": "2025-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "family": "text",
          "id": 1,
          "internalResourceId": 1,
          "internalType": "text",
          "ipAddress": "text",
          "label": "text",
          "labelArea": "text",
          "labelAvailabilityZone": "text",
          "labelDataCenter": "text",
          "labelRegion": "text",
          "metrologyUrl": "text",
          "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
          },
          "patchParty": {
            "excluded": true,
            "excludedBy": "text",
            "exclusionDate": "2025-12-08T11:38:50.942Z",
            "exclusionReason": "text",
            "id": 1,
            "name": "text",
            "patchDate": "2025-12-08T11:38:50.942Z",
            "patchGroup": "text",
            "patchTag": "text"
          },
          "path": "text",
          "prettyLabel": "text",
          "productCode": "text",
          "productName": "text",
          "productVersion": "text",
          "releasedAt": "2025-12-08T11:38:50.942Z",
          "replicationStatus": true,
          "resourceType": "text",
          "serviceId": 1,
          "serviceKey": "text",
          "serviceName": "text",
          "sizing": "text",
          "status": "text",
          "supportLevel": "NO_MONITORING_NO_SUPPORT",
          "supportPhase": "text",
          "technology": "text",
          "type": "text",
          "url": "text",
          "version": "text"
        }
      ],
      "empty": true,
      "first": true,
      "last": true,
      "number": 1,
      "numberOfElements": 1,
      "pageable": {
        "offset": 1,
        "pageNumber": 1,
        "pageSize": 1,
        "paged": true,
        "sort": [
          {
            "ascending": true,
            "direction": "text",
            "ignoreCase": true,
            "nullHandling": "text",
            "property": "text"
          }
        ],
        "unpaged": true
      },
      "size": 1,
      "sort": [
        {
          "ascending": true,
          "direction": "text",
          "ignoreCase": true,
          "nullHandling": "text",
          "property": "text"
        }
      ],
      "totalElements": 1,
      "totalPages": 1
    }
    DELETE /itcare/analytics/matomo/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/analytics/matomo/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "actionsInProgress": [
        {
          "family": "text",
          "id": 1,
          "internalId": 1,
          "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
          "message": "text",
          "process": "text",
          "resourceName": "text",
          "resourceType": "text",
          "status": "SUCCESS,IN_PROGRESS,ERROR"
        }
      ],
      "availableActions": [
        {
          "available": true,
          "operation": "text",
          "unavailabilityCauses": [
            "text"
          ]
        }
      ],
      "backupPolicyDetails": {
        "backups": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "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",
      "creationTime": "text",
      "creationUser": "text",
      "endOfSalesAt": "2025-12-08T11:38:50.942Z",
      "endOfSupportAt": "2025-12-08T11:38:50.942Z",
      "environment": "text",
      "extendedSupportAt": "2025-12-08T11:38:50.942Z",
      "family": "text",
      "id": 1,
      "internalResourceId": 1,
      "internalType": "text",
      "ipAddress": "text",
      "label": "text",
      "labelArea": "text",
      "labelAvailabilityZone": "text",
      "labelDataCenter": "text",
      "labelRegion": "text",
      "metrologyUrl": "text",
      "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
      },
      "patchParty": {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "patchGroup": "text",
        "patchTag": "text"
      },
      "path": "text",
      "prettyLabel": "text",
      "productCode": "text",
      "productName": "text",
      "productVersion": "text",
      "releasedAt": "2025-12-08T11:38:50.942Z",
      "replicationStatus": true,
      "resourceType": "text",
      "serviceId": 1,
      "serviceKey": "text",
      "serviceName": "text",
      "sizing": "text",
      "status": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "supportPhase": "text",
      "technology": "text",
      "type": "text",
      "url": "text",
      "version": "text"
    }
    GET /itcare/compute/resource-types HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/resource-types/{type}/technologies HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "BACKUP_POLICY_TYPE": "text",
        "CATEGORY_WEIGHT": 1,
        "CODE": "text",
        "COMMENT": "text",
        "DOCUMENTATION": "text",
        "EDITION": "text",
        "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
        "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "ENFORCED_AUTH_DOMAIN": true,
        "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "FAMILY_WEIGHT": 1,
        "ID": "text",
        "IMG": "text",
        "LABEL": "text",
        "NAME": "text",
        "PLATFORM": "text",
        "PRODUCT_CATEGORY": "text",
        "PRODUCT_DISPLAYABLE": true,
        "PRODUCT_IS_DISABLED": true,
        "PRODUCT_IS_IN_BETA_MODE": true,
        "PRODUCT_MAGIC_FORMS": "text",
        "PRODUCT_SKIP_TECHNOLOGY": true,
        "PRODUCT_TECHNOLOGY": "text",
        "PRODUCT_VERSION": "text",
        "RELEASED_AT": "2025-12-08T11:38:50.942Z",
        "STATUS": "text",
        "SUPPORT_FORM_AVAILABLE": true,
        "SUPPORT_FORM_ID": "text",
        "SUPPORT_PHASE": "text",
        "TECH_FORMONLY": true,
        "TECH_WEIGHT": 1,
        "TYPE": "text",
        "VERSION": "text",
        "configuration": {
          "topologies": [
            {
              "alwaysOn": "text",
              "cluster": "text",
              "galera": "text",
              "ha": "text",
              "replica": "text",
              "sentinel": "text",
              "single": "text",
              "standalone": "text"
            }
          ]
        },
        "properties": [
          {
            "defaultValue": "text",
            "description": "text",
            "displayed": true,
            "editable": true,
            "key": "text",
            "mandatory": true,
            "value": "text"
          }
        ],
        "resources": [
          {
            "available": true,
            "id": "text",
            "optionDescrEn": "text",
            "optionDescrFr": "text",
            "optionName": "text",
            "optionOrder": "text",
            "ram": 1,
            "vcpus": 1
          }
        ],
        "storage": {
          "maxVolumes": 1,
          "minVolumeSize": 1,
          "totalSizeAuthorized": 1,
          "totalVolumesSize": 1,
          "volumes": [
            {
              "description": "text",
              "editable": 1,
              "exclFromSnap": 1,
              "id": "data",
              "mandatory": true,
              "max": 1,
              "min": 1,
              "order": 1,
              "sizeGb": 1,
              "system": true
            }
          ]
        }
      }
    ]
    GET /itcare/compute/services HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/services/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "advancedMonitoringAllowed": true,
      "cloud": "text",
      "cloudId": 1,
      "comment": "text",
      "environment": "text",
      "id": 1,
      "key": "text",
      "name": "text",
      "relations": {
        "dependencies": [
          {
            "advancedMonitoringAllowed": true,
            "cloud": "text",
            "cloudId": 1,
            "comment": "text",
            "environment": "text",
            "id": 1,
            "key": "text",
            "name": "text",
            "relations": {
              "dependencies": [
                "[Circular Reference]"
              ],
              "impacts": [
                "[Circular Reference]"
              ]
            },
            "smsSubscribed": true,
            "status": "ACTIVE,PREPARATION"
          }
        ],
        "impacts": [
          {
            "advancedMonitoringAllowed": true,
            "cloud": "text",
            "cloudId": 1,
            "comment": "text",
            "environment": "text",
            "id": 1,
            "key": "text",
            "name": "text",
            "relations": {
              "dependencies": [
                "[Circular Reference]"
              ],
              "impacts": [
                "[Circular Reference]"
              ]
            },
            "smsSubscribed": true,
            "status": "ACTIVE,PREPARATION"
          }
        ]
      },
      "smsSubscribed": true,
      "status": "ACTIVE,PREPARATION"
    }
    GET /itcare/compute/services/{id}/actions-in-progress HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/services/{id}/application-servers HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/services/{id}/brokers HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/services/{id}/hardwares HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/services/{id}/instances HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/services/{id}/kubernetes HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/services/{id}/loadbalancers HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/services/{id}/managed-databases HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/services/{id}/network-clusters HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    PATCH /itcare/compute/services/{id}/patch-policies HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/vnd.cegedim-it.v1+json
    Accept: */*
    Content-Length: 79
    
    [
      {
        "excluded": true,
        "exclusionReason": "text",
        "patchGroup": "text",
        "resourceId": 1
      }
    ]
    GET /itcare/compute/services/{id}/relations HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "dependencies": [
        {
          "advancedMonitoringAllowed": true,
          "cloud": "text",
          "cloudId": 1,
          "comment": "text",
          "environment": "text",
          "id": 1,
          "key": "text",
          "name": "text",
          "relations": {
            "dependencies": [
              {
                "advancedMonitoringAllowed": true,
                "cloud": "text",
                "cloudId": 1,
                "comment": "text",
                "environment": "text",
                "id": 1,
                "key": "text",
                "name": "text",
                "relations": "[Circular Reference]",
                "smsSubscribed": true,
                "status": "ACTIVE,PREPARATION"
              }
            ],
            "impacts": [
              {
                "advancedMonitoringAllowed": true,
                "cloud": "text",
                "cloudId": 1,
                "comment": "text",
                "environment": "text",
                "id": 1,
                "key": "text",
                "name": "text",
                "relations": "[Circular Reference]",
                "smsSubscribed": true,
                "status": "ACTIVE,PREPARATION"
              }
            ]
          },
          "smsSubscribed": true,
          "status": "ACTIVE,PREPARATION"
        }
      ],
      "impacts": [
        {
          "advancedMonitoringAllowed": true,
          "cloud": "text",
          "cloudId": 1,
          "comment": "text",
          "environment": "text",
          "id": 1,
          "key": "text",
          "name": "text",
          "relations": "[Circular Reference]",
          "smsSubscribed": true,
          "status": "ACTIVE,PREPARATION"
        }
      ]
    }
    GET /itcare/compute/services/{id}/relations/stats HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "dependencies": 1,
      "impacts": 1
    }
    GET /itcare/compute/services/{id}/resources HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/services/{id}/stats HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "ANY_ADDITIONAL_PROPERTY": 1
    }
    GET /itcare/compute/services/{id}/storage HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/services/{serviceId}/history HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    DELETE /itcare/storage/glusterfs/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    GET /itcare/storage/glusterfs/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "allowMonitoringDisplay": true,
      "backupPolicyDetails": {
        "backups": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "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-12-08T11:38:50.942Z",
      "endOfSupportAt": "2025-12-08T11:38:50.942Z",
      "environment": "text",
      "extendedSupportAt": "2025-12-08T11:38:50.942Z",
      "family": "text",
      "id": 1,
      "internalResourceId": 1,
      "internalType": "text",
      "ipAddress": "text",
      "label": "text",
      "labelArea": "text",
      "labelAvailabilityZone": "text",
      "labelDataCenter": "text",
      "labelRegion": "text",
      "metrologyUrl": "text",
      "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
      },
      "nodeCount": "text",
      "patchParty": {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "patchGroup": "text",
        "patchTag": "text"
      },
      "path": "text",
      "prettyLabel": "text",
      "productCode": "text",
      "productName": "text",
      "productVersion": "text",
      "ram": 1,
      "releasedAt": "2025-12-08T11:38:50.942Z",
      "replicationStatus": true,
      "resourceType": "text",
      "serviceId": 1,
      "serviceKey": "text",
      "serviceName": "text",
      "sizing": "text",
      "status": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "supportPhase": "text",
      "technology": "text",
      "topology": "text",
      "type": "text",
      "url": "text",
      "version": "text",
      "virtualIp": "text"
    }
    GET /itcare/storage/glusterfs/{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
      }
    ]
    GET /itcare/storage/glusterfs/{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-12-08T11:38:50.942Z",
          "size": 1,
          "type": "text"
        },
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "family": "text",
        "glfsType": "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,
            "name": "text",
            "serviceId": 1,
            "status": "text"
          }
        ],
        "metrologyUrl": "text",
        "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-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "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-12-08T11:38:50.942Z",
        "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-12-08T11:38:50.942Z",
          "createdBy": "text",
          "description": "text",
          "expiresAt": "2025-12-08T11:38:50.942Z",
          "id": "text",
          "label": "text",
          "recoveredAt": "2025-12-08T11:38:50.942Z",
          "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",
        "version": "text"
      }
    ]
    GET /itcare/storage/glusterfs/{id}/volumes HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "free": 1,
        "mountingPoint": "text",
        "sizeOf": 1,
        "type": "text"
      }
    ]
    GET /itcare/topology/regions HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "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"
      }
    ]
    GET /itcare/topology/regions/{regionId}/areas/{areaId}/certificates?domain=text HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/topology/regions/{regionId}/areas/{areaId}/ssl-profiles HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/topology/regions/{region} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/topology/regions/{region}/areas HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/topology/regions/{region}/areas/{area}/availability-zones/{az}/networks HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/topology/regions/{region}/areas/{area}/availability-zones/{az}/networks/{network}/authentication-domains HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/topology/regions/{region}/areas/{area}/healthchecks HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/topology/regions/{region}/areas/{area}/loadbalancers-networks HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/topology/regions/{region}/areas/{area}/networks HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    DELETE /itcare/message-brokers/apache-kafka/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    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-12-08T11:38:50.942Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "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-12-08T11:38:50.942Z",
      "endOfSupportAt": "2025-12-08T11:38:50.942Z",
      "environment": "text",
      "extendedSupportAt": "2025-12-08T11:38:50.942Z",
      "family": "text",
      "id": 1,
      "internalResourceId": 1,
      "internalType": "text",
      "ipAddress": "text",
      "label": "text",
      "labelArea": "text",
      "labelAvailabilityZone": "text",
      "labelDataCenter": "text",
      "labelRegion": "text",
      "metrologyUrl": "text",
      "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
      },
      "nodeCount": 1,
      "nodeSizing": "text",
      "overloadedParams": "text",
      "patchParty": {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "patchGroup": "text",
        "patchTag": "text"
      },
      "path": "text",
      "platformId": "text",
      "prettyLabel": "text",
      "productCode": "text",
      "productName": "text",
      "productVersion": "text",
      "ram": 1,
      "region": "text",
      "releasedAt": "2025-12-08T11:38:50.942Z",
      "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"
    }
    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
      }
    ]
    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-12-08T11:38:50.942Z",
          "size": 1,
          "type": "text"
        },
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "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,
            "name": "text",
            "serviceId": 1,
            "status": "text"
          }
        ],
        "metrologyUrl": "text",
        "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-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "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-12-08T11:38:50.942Z",
        "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-12-08T11:38:50.942Z",
          "createdBy": "text",
          "description": "text",
          "expiresAt": "2025-12-08T11:38:50.942Z",
          "id": "text",
          "label": "text",
          "recoveredAt": "2025-12-08T11:38:50.942Z",
          "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"
      }
    ]
    GET /itcare/compute/backup-policies?serviceId=1&policyType=SERVER HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/backup-policies/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "availableInAZ": [
        "text"
      ],
      "cloudId": "text",
      "cloudName": "text",
      "default": true,
      "durationInHours": 1,
      "frequencies": {},
      "id": 1,
      "label": "text",
      "name": "text",
      "policyId": "text",
      "replication": true,
      "scope": "text",
      "startTime": "text",
      "timezone": "text",
      "type": "text"
    }
    GET /itcare/operations HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/databases/sqlserver HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    DELETE /itcare/databases/sqlserver/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 26
    
    {
      "changeReference": "text"
    }
    GET /itcare/databases/sqlserver/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "agOptions": {
        "agListener": "text",
        "agListenerIp": "text",
        "agName": "text",
        "agWitness": "text"
      },
      "allowMonitoringDisplay": true,
      "area": {
        "availabilityZones": [
          {
            "availabilityZoneGroup": "text",
            "datacenterId": "text",
            "defaultZone": true,
            "id": "text",
            "location": "text",
            "routable": true
          }
        ],
        "defaultArea": true,
        "id": "text",
        "location": "text",
        "regulation": "text"
      },
      "availabilityZone": {
        "availabilityZoneGroup": "text",
        "datacenterId": "text",
        "defaultZone": true,
        "id": "text",
        "location": "text",
        "routable": true
      },
      "backupPolicyDetails": {
        "backups": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "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",
      "configParameters": {
        "knowledgeBaseNumber": "text",
        "releaseDate": "text",
        "servicePack": "text",
        "update": "text",
        "version": "text"
      },
      "cpu": 1,
      "creationTime": "text",
      "creationUser": "text",
      "endOfSalesAt": "2025-12-08T11:38:50.942Z",
      "endOfSupportAt": "2025-12-08T11:38:50.942Z",
      "environment": "text",
      "extendedSupportAt": "2025-12-08T11:38:50.942Z",
      "family": "text",
      "id": 1,
      "internalResourceId": 1,
      "internalType": "text",
      "ipAddress": "text",
      "label": "text",
      "labelArea": "text",
      "labelAvailabilityZone": "text",
      "labelDataCenter": "text",
      "labelRegion": "text",
      "lastSQLServerVersion": "text",
      "metrologyUrl": "text",
      "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
      },
      "nodeCount": 1,
      "patchParty": {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "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-12-08T11:38:50.942Z",
      "replicationStatus": true,
      "resourceType": "text",
      "serviceId": 1,
      "serviceKey": "text",
      "serviceName": "text",
      "sizing": "text",
      "status": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "supportPhase": "text",
      "technology": "text",
      "topology": "text",
      "type": "text",
      "url": "text",
      "version": "text"
    }
    GET /itcare/databases/sqlserver/{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
      }
    ]
    GET /itcare/databases/sqlserver/{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-12-08T11:38:50.942Z",
          "size": 1,
          "type": "text"
        },
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "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,
            "name": "text",
            "serviceId": 1,
            "status": "text"
          }
        ],
        "metrologyUrl": "text",
        "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-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "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-12-08T11:38:50.942Z",
        "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-12-08T11:38:50.942Z",
          "createdBy": "text",
          "description": "text",
          "expiresAt": "2025-12-08T11:38:50.942Z",
          "id": "text",
          "label": "text",
          "recoveredAt": "2025-12-08T11:38:50.942Z",
          "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"
      }
    ]
    HEAD /itcare/databases/sqlserver/{name} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    DELETE /itcare/message-brokers/rabbitmq/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/message-brokers/rabbitmq/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "allowMonitoringDisplay": true,
      "backupPolicyDetails": {
        "backups": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "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-12-08T11:38:50.942Z",
      "endOfSupportAt": "2025-12-08T11:38:50.942Z",
      "environment": "text",
      "extendedSupportAt": "2025-12-08T11:38:50.942Z",
      "family": "text",
      "id": 1,
      "internalResourceId": 1,
      "internalType": "text",
      "ipAddress": "text",
      "label": "text",
      "labelArea": "text",
      "labelAvailabilityZone": "text",
      "labelDataCenter": "text",
      "labelRegion": "text",
      "managementUrl": "text",
      "metrologyUrl": "text",
      "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
      },
      "patchParty": {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "patchGroup": "text",
        "patchTag": "text"
      },
      "path": "text",
      "prettyLabel": "text",
      "productCode": "text",
      "productName": "text",
      "productVersion": "text",
      "ram": 1,
      "releasedAt": "2025-12-08T11:38:50.942Z",
      "replicationStatus": true,
      "resourceType": "text",
      "serviceId": 1,
      "serviceKey": "text",
      "serviceName": "text",
      "status": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "supportPhase": "text",
      "technology": "text",
      "tlsEnabled": true,
      "type": "text",
      "url": "text",
      "version": "text"
    }
    GET /itcare/message-brokers/rabbitmq/{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
      }
    ]
    GET /itcare/message-brokers/rabbitmq/{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-12-08T11:38:50.942Z",
          "size": 1,
          "type": "text"
        },
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "erlangVersion": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "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,
            "name": "text",
            "serviceId": 1,
            "status": "text"
          }
        ],
        "metrologyUrl": "text",
        "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-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "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-12-08T11:38:50.942Z",
        "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-12-08T11:38:50.942Z",
          "createdBy": "text",
          "description": "text",
          "expiresAt": "2025-12-08T11:38:50.942Z",
          "id": "text",
          "label": "text",
          "recoveredAt": "2025-12-08T11:38:50.942Z",
          "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"
      }
    ]
    GET /itcare/compute/platform/products HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "BACKUP_POLICY_TYPE": "text",
        "CATEGORY_WEIGHT": 1,
        "CODE": "text",
        "COMMENT": "text",
        "DOCUMENTATION": "text",
        "EDITION": "text",
        "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
        "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "ENFORCED_AUTH_DOMAIN": true,
        "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "FAMILY_WEIGHT": 1,
        "ID": "text",
        "IMG": "text",
        "LABEL": "text",
        "NAME": "text",
        "PLATFORM": "text",
        "PRODUCT_CATEGORY": "text",
        "PRODUCT_DISPLAYABLE": true,
        "PRODUCT_IS_DISABLED": true,
        "PRODUCT_IS_IN_BETA_MODE": true,
        "PRODUCT_MAGIC_FORMS": "text",
        "PRODUCT_SKIP_TECHNOLOGY": true,
        "PRODUCT_TECHNOLOGY": "text",
        "PRODUCT_VERSION": "text",
        "RELEASED_AT": "2025-12-08T11:38:50.942Z",
        "STATUS": "text",
        "SUPPORT_FORM_AVAILABLE": true,
        "SUPPORT_FORM_ID": "text",
        "SUPPORT_PHASE": "text",
        "TECH_FORMONLY": true,
        "TECH_WEIGHT": 1,
        "TYPE": "text",
        "VERSION": "text",
        "configuration": {
          "topologies": [
            {
              "alwaysOn": "text",
              "cluster": "text",
              "galera": "text",
              "ha": "text",
              "replica": "text",
              "sentinel": "text",
              "single": "text",
              "standalone": "text"
            }
          ]
        },
        "properties": [
          {
            "defaultValue": "text",
            "description": "text",
            "displayed": true,
            "editable": true,
            "key": "text",
            "mandatory": true,
            "value": "text"
          }
        ],
        "resources": [
          {
            "available": true,
            "id": "text",
            "optionDescrEn": "text",
            "optionDescrFr": "text",
            "optionName": "text",
            "optionOrder": "text",
            "ram": 1,
            "vcpus": 1
          }
        ],
        "storage": {
          "maxVolumes": 1,
          "minVolumeSize": 1,
          "totalSizeAuthorized": 1,
          "totalVolumesSize": 1,
          "volumes": [
            {
              "description": "text",
              "editable": 1,
              "exclFromSnap": 1,
              "id": "data",
              "mandatory": true,
              "max": 1,
              "min": 1,
              "order": 1,
              "sizeGb": 1,
              "system": true
            }
          ]
        }
      }
    ]
    GET /itcare/compute/platform/products/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/platform/products/{id}/regions HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "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"
      }
    ]
    GET /itcare/compute/platform/resources-obsolescence HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/platform/stats/global HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "phasesStatistic": {
        "ANY_ADDITIONAL_PROPERTY": {
          "count": 1,
          "platforms": [
            {
              "count": 1,
              "label": "text",
              "name": "text",
              "resourceType": "text"
            }
          ]
        }
      }
    }
    GET /itcare/compute/platform/support-policy HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/resources/metrics HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/resources/parents?resourceIds=1 HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "category": "text",
        "cloudId": 1,
        "environment": "text",
        "id": 1,
        "name": "text",
        "parentId": 1,
        "parentType": "text",
        "serviceId": 1,
        "status": "text",
        "technology": "text"
      }
    ]
    GET /itcare/compute/resources/{id}/backup-policies HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "backups": [
        {
          "backupLastDate": "2025-12-08T11:38:50.942Z",
          "backupSize": 1,
          "id": 1,
          "type": "text"
        }
      ],
      "policies": [
        {
          "backupLastDate": "2025-12-08T11:38:50.942Z",
          "backupSize": 1,
          "durationInHours": 1,
          "frequencies": {},
          "label": "text",
          "name": "text",
          "policyId": "text",
          "replication": true,
          "scope": "text",
          "startTime": "text",
          "timezone": "text",
          "type": "text"
        }
      ]
    }
    PATCH /itcare/compute/resources/{id}/comments HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/json-patch+json
    Accept: */*
    Content-Length: 22
    
    {
      "description": "text"
    }
    GET /itcare/compute/resources/{id}/dns-aliases HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "fqdn": "text",
        "type": "text",
        "value": "text",
        "zone": "text"
      }
    ]
    POST /itcare/compute/resources/{id}/dns-aliases HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 44
    
    {
      "fqdn": "text",
      "type": "text",
      "value": "text"
    }
    DELETE /itcare/compute/resources/{id}/dns-aliases/{fqdn} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/resources/{id}/farm-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
      }
    ]
    GET /itcare/compute/resources/{id}/history HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/resources/{id}/loadbalancers?type=text HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/resources/{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
    }
    GET /itcare/compute/resources/{id}/nodes?type=text 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-12-08T11:38:50.942Z",
          "size": 1,
          "type": "text"
        },
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "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,
            "name": "text",
            "serviceId": 1,
            "status": "text"
          }
        ],
        "metrologyUrl": "text",
        "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-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "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-12-08T11:38:50.942Z",
        "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-12-08T11:38:50.942Z",
          "createdBy": "text",
          "description": "text",
          "expiresAt": "2025-12-08T11:38:50.942Z",
          "id": "text",
          "label": "text",
          "recoveredAt": "2025-12-08T11:38:50.942Z",
          "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"
      }
    ]
    GET /itcare/compute/resources/{id}/parent HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "category": "text",
      "cloudId": 1,
      "environment": "text",
      "id": 1,
      "name": "text",
      "parentId": 1,
      "parentType": "text",
      "serviceId": 1,
      "status": "text",
      "technology": "text"
    }
    GET /itcare/compute/resources/{id}/patch-policy HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "excluded": true,
      "excludedBy": "text",
      "exclusionDate": "2025-12-08T11:38:50.942Z",
      "exclusionReason": "text",
      "id": 1,
      "name": "text",
      "patchDate": "2025-12-08T11:38:50.942Z",
      "patchGroup": "text",
      "patchTag": "text"
    }
    DELETE /itcare/compute/resources/{id}/tags HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 35
    
    {
      "tagKey": "text",
      "tagValue": "text"
    }
    GET /itcare/compute/resources/{id}/tags HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    POST /itcare/compute/resources/{id}/tags HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/vnd.cegedim-it.v1+json
    Accept: */*
    Content-Length: 35
    
    {
      "tagKey": "text",
      "tagValue": "text"
    }
    PUT /itcare/compute/resources/{id}/tags HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/vnd.cegedim-it.v1+json
    Accept: */*
    Content-Length: 37
    
    [
      {
        "tagKey": "text",
        "tagValue": "text"
      }
    ]
    GET /itcare/compute/resources/{id}/urls HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "category": "text",
      "cloudId": 1,
      "environment": "text",
      "id": 1,
      "name": "text",
      "parentId": 1,
      "parentType": "text",
      "serviceId": 1,
      "status": "text",
      "technology": "text"
    }
    HEAD /itcare/compute/resources/{name} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/resource-filters HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/networking/networks HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/networking/networks/{id}/loadbalancers-networks HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/storage/overdrive HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    DELETE /itcare/storage/overdrive/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/storage/overdrive/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "actionsInProgress": [
        {
          "family": "text",
          "id": 1,
          "internalId": 1,
          "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
          "message": "text",
          "process": "text",
          "resourceName": "text",
          "resourceType": "text",
          "status": "SUCCESS,IN_PROGRESS,ERROR"
        }
      ],
      "availableActions": [
        {
          "available": true,
          "operation": "text",
          "unavailabilityCauses": [
            "text"
          ]
        }
      ],
      "backupPolicyDetails": {
        "backups": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "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",
      "creationTime": "text",
      "creationUser": "text",
      "endOfSalesAt": "2025-12-08T11:38:50.942Z",
      "endOfSupportAt": "2025-12-08T11:38:50.942Z",
      "environment": "text",
      "extendedSupportAt": "2025-12-08T11:38:50.942Z",
      "family": "text",
      "id": 1,
      "internalResourceId": 1,
      "internalType": "text",
      "ipAddress": "text",
      "label": "text",
      "labelArea": "text",
      "labelAvailabilityZone": "text",
      "labelDataCenter": "text",
      "labelRegion": "text",
      "metrologyUrl": "text",
      "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
      },
      "patchParty": {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "patchGroup": "text",
        "patchTag": "text"
      },
      "path": "text",
      "prettyLabel": "text",
      "productCode": "text",
      "productName": "text",
      "productVersion": "text",
      "releasedAt": "2025-12-08T11:38:50.942Z",
      "replicationStatus": true,
      "resourceType": "text",
      "serviceId": 1,
      "serviceKey": "text",
      "serviceName": "text",
      "sizing": "text",
      "status": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "supportPhase": "text",
      "technology": "text",
      "type": "text",
      "url": "text",
      "version": "text"
    }
    PATCH /itcare/storage/overdrive/{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": {}
      }
    }
    DELETE /itcare/compute/instances/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 26
    
    {
      "changeReference": "text"
    }
    GET /itcare/compute/instances/{id} 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-12-08T11:38:50.942Z",
        "size": 1,
        "type": "text"
      },
      "backupPolicyDetails": {
        "backups": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "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-12-08T11:38:50.942Z",
      "endOfSupportAt": "2025-12-08T11:38:50.942Z",
      "environment": "text",
      "extendedSupportAt": "2025-12-08T11:38:50.942Z",
      "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,
          "name": "text",
          "serviceId": 1,
          "status": "text"
        }
      ],
      "metrologyUrl": "text",
      "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-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "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-12-08T11:38:50.942Z",
      "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-12-08T11:38:50.942Z",
        "createdBy": "text",
        "description": "text",
        "expiresAt": "2025-12-08T11:38:50.942Z",
        "id": "text",
        "label": "text",
        "recoveredAt": "2025-12-08T11:38:50.942Z",
        "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"
    }
    GET /itcare/compute/instances/{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
    }
    GET /itcare/compute/instances/{id}/snapshots HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "changeReference": "text",
      "createdAt": "2025-12-08T11:38:50.942Z",
      "createdBy": "text",
      "description": "text",
      "expiresAt": "2025-12-08T11:38:50.942Z",
      "id": "text",
      "label": "text",
      "recoveredAt": "2025-12-08T11:38:50.942Z",
      "snapshotSize": 1
    }
    PATCH /itcare/compute/instances/{id}/snapshots HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    POST /itcare/compute/instances/{id}/snapshots HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 47
    
    {
      "changeReference": "text",
      "description": "text"
    }
    DELETE /itcare/compute/instances/{id}/snapshots/{snapshotId} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/instances/{id}/storage HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "fileSystems": [
        {
          "free": 1,
          "mountingPoint": "text",
          "sizeOf": 1,
          "type": "text"
        }
      ],
      "totalSizeDisks": 1,
      "totalSizeFileSystems": 1
    }
    DELETE /itcare/databases/opensearch/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/databases/opensearch/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "allowMonitoringDisplay": true,
      "backupPolicyDetails": {
        "backups": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "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",
      "dedicatedIngest": true,
      "elsType": "text",
      "endOfSalesAt": "2025-12-08T11:38:50.942Z",
      "endOfSupportAt": "2025-12-08T11:38:50.942Z",
      "environment": "text",
      "extendedSupportAt": "2025-12-08T11:38:50.942Z",
      "family": "text",
      "farmTopology": "text",
      "id": 1,
      "internalResourceId": 1,
      "internalType": "text",
      "ipAddress": "text",
      "label": "text",
      "labelArea": "text",
      "labelAvailabilityZone": "text",
      "labelDataCenter": "text",
      "labelRegion": "text",
      "managementUrls": [
        "text"
      ],
      "metrologyUrl": "text",
      "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
      },
      "nodeCount": 1,
      "patchParty": {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "patchGroup": "text",
        "patchTag": "text"
      },
      "path": "text",
      "prettyLabel": "text",
      "productCode": "text",
      "productName": "text",
      "productVersion": "text",
      "ram": 1,
      "releasedAt": "2025-12-08T11:38:50.942Z",
      "replicationStatus": true,
      "resourceType": "text",
      "serviceId": 1,
      "serviceKey": "text",
      "serviceName": "text",
      "status": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "supportPhase": "text",
      "technology": "text",
      "type": "text",
      "url": "text",
      "version": "text"
    }
    GET /itcare/databases/opensearch/{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
      }
    ]
    GET /itcare/databases/opensearch/{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",
        "autoRestart": true,
        "availabilityZone": {
          "availabilityZoneGroup": "text",
          "datacenterId": "text",
          "defaultZone": true,
          "id": "text",
          "location": "text",
          "routable": true
        },
        "backup": {
          "backupSystem": "text",
          "filesNb": 1,
          "lastDate": "2025-12-08T11:38:50.942Z",
          "size": 1,
          "type": "text"
        },
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "durationInHours": 1,
              "frequencies": {},
              "label": "text",
              "name": "text",
              "policyId": "text",
              "replication": true,
              "scope": "text",
              "startTime": "text",
              "timezone": "text",
              "type": "text"
            }
          ]
        },
        "backupStatus": true,
        "caHostName": "text",
        "category": "text",
        "cloudId": 1,
        "cloudName": "text",
        "clusterId": 1,
        "comment": "text",
        "configOverwrite": true,
        "cpu": 1,
        "creationTime": "text",
        "creationUser": "text",
        "dashboards": true,
        "elsKibana": true,
        "elsType": "text",
        "endOfSalesAt": "2025-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "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,
            "name": "text",
            "serviceId": 1,
            "status": "text"
          }
        ],
        "masters": [
          "text"
        ],
        "metrologyUrl": "text",
        "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
        },
        "nodeAttributes": {
          "ANY_ADDITIONAL_PROPERTY": "text"
        },
        "osName": "text",
        "osType": "text",
        "parentResourceType": "text",
        "patchParty": {
          "excluded": true,
          "excludedBy": "text",
          "exclusionDate": "2025-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "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-12-08T11:38:50.942Z",
        "replication": {
          "noStoRplExplanation": "text",
          "storageClass": "text",
          "storageClassOverride": "text",
          "storageMoveInProgress": true,
          "storageMoveTicket": "text",
          "storageReplicationClass": "text"
        },
        "replicationStatus": true,
        "resourceType": "text",
        "roles": [
          "text"
        ],
        "serviceEnable": true,
        "serviceId": 1,
        "serviceKey": "text",
        "serviceName": "text",
        "snapshot": {
          "changeReference": "text",
          "createdAt": "2025-12-08T11:38:50.942Z",
          "createdBy": "text",
          "description": "text",
          "expiresAt": "2025-12-08T11:38:50.942Z",
          "id": "text",
          "label": "text",
          "recoveredAt": "2025-12-08T11:38:50.942Z",
          "snapshotSize": 1
        },
        "specificConfNodeTemp": "text",
        "specificConfNodeTest": true,
        "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",
        "version": "text"
      }
    ]
    DELETE /itcare/databases/redis/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/databases/redis/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "allowMonitoringDisplay": true,
      "backupPolicyDetails": {
        "backups": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "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-12-08T11:38:50.942Z",
      "endOfSupportAt": "2025-12-08T11:38:50.942Z",
      "environment": "text",
      "extendedSupportAt": "2025-12-08T11:38:50.942Z",
      "family": "text",
      "id": 1,
      "internalResourceId": 1,
      "internalType": "text",
      "ipAddress": "text",
      "label": "text",
      "labelArea": "text",
      "labelAvailabilityZone": "text",
      "labelDataCenter": "text",
      "labelRegion": "text",
      "metrologyUrl": "text",
      "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
      },
      "nodeCount": 1,
      "patchParty": {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "patchGroup": "text",
        "patchTag": "text"
      },
      "path": "text",
      "persistenceMode": "text",
      "prettyLabel": "text",
      "productCode": "text",
      "productName": "text",
      "productVersion": "text",
      "ram": 1,
      "releasedAt": "2025-12-08T11:38:50.942Z",
      "replicationStatus": true,
      "resourceType": "text",
      "serviceId": 1,
      "serviceKey": "text",
      "serviceName": "text",
      "sizing": "text",
      "status": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "supportPhase": "text",
      "technology": "text",
      "tlsEnabled": true,
      "topology": "text",
      "type": "text",
      "url": "text",
      "version": "text"
    }
    GET /itcare/databases/redis/{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
      }
    ]
    GET /itcare/databases/redis/{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-12-08T11:38:50.942Z",
          "size": 1,
          "type": "text"
        },
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "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,
            "name": "text",
            "serviceId": 1,
            "status": "text"
          }
        ],
        "metrologyUrl": "text",
        "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-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "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-12-08T11:38:50.942Z",
        "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-12-08T11:38:50.942Z",
          "createdBy": "text",
          "description": "text",
          "expiresAt": "2025-12-08T11:38:50.942Z",
          "id": "text",
          "label": "text",
          "recoveredAt": "2025-12-08T11:38:50.942Z",
          "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"
      }
    ]
    DELETE /itcare/databases/mariadb/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/databases/mariadb/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "allowMonitoringDisplay": true,
      "backupPolicyDetails": {
        "backups": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "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-12-08T11:38:50.942Z",
      "endOfSupportAt": "2025-12-08T11:38:50.942Z",
      "environment": "text",
      "extendedSupportAt": "2025-12-08T11:38:50.942Z",
      "family": "text",
      "id": 1,
      "internalResourceId": 1,
      "internalType": "text",
      "ipAddress": "text",
      "label": "text",
      "labelArea": "text",
      "labelAvailabilityZone": "text",
      "labelDataCenter": "text",
      "labelRegion": "text",
      "metrologyUrl": "text",
      "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
      },
      "nodeCount": 1,
      "patchParty": {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "patchGroup": "text",
        "patchTag": "text"
      },
      "path": "text",
      "prettyLabel": "text",
      "productCode": "text",
      "productName": "text",
      "productVersion": "text",
      "ram": 1,
      "releasedAt": "2025-12-08T11:38:50.942Z",
      "replicationStatus": true,
      "resourceType": "text",
      "serviceId": 1,
      "serviceKey": "text",
      "serviceName": "text",
      "status": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "supportPhase": "text",
      "technology": "text",
      "topology": "text",
      "type": "text",
      "url": "text",
      "version": "text"
    }
    GET /itcare/databases/mariadb/{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
      }
    ]
    GET /itcare/databases/mariadb/{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-12-08T11:38:50.942Z",
          "size": 1,
          "type": "text"
        },
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "family": "text",
        "id": 1,
        "imageCode": "text",
        "initialized": true,
        "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,
            "name": "text",
            "serviceId": 1,
            "status": "text"
          }
        ],
        "metrologyUrl": "text",
        "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-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "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-12-08T11:38:50.942Z",
        "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-12-08T11:38:50.942Z",
          "createdBy": "text",
          "description": "text",
          "expiresAt": "2025-12-08T11:38:50.942Z",
          "id": "text",
          "label": "text",
          "recoveredAt": "2025-12-08T11:38:50.942Z",
          "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",
        "version": "text"
      }
    ]
    GET /itcare/compute/containers/kubernetes/ingress-providers HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      "text"
    ]
    DELETE /itcare/compute/containers/kubernetes/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/vnd.cegedim-it.v1+json
    Accept: */*
    Content-Length: 26
    
    {
      "changeReference": "text"
    }
    GET /itcare/compute/containers/kubernetes/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "allowMonitoringDisplay": true,
      "availableAZs": [
        "text"
      ],
      "availableDCs": [
        "text"
      ],
      "backupPolicyDetails": {
        "backups": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "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",
      "creationTime": "text",
      "creationUser": "text",
      "endOfSalesAt": "2025-12-08T11:38:50.942Z",
      "endOfSupportAt": "2025-12-08T11:38:50.942Z",
      "environment": "text",
      "extendedSupportAt": "2025-12-08T11:38:50.942Z",
      "family": "text",
      "id": 1,
      "ingressProvider": "NGINX",
      "internalResourceId": 1,
      "internalType": "text",
      "ipAddress": "text",
      "label": "text",
      "labelArea": "text",
      "labelAreaList": [
        "text"
      ],
      "labelAvailabilityZone": "text",
      "labelDataCenter": "text",
      "labelRegion": "text",
      "lastKubeVersion": "text",
      "managementUrl": "text",
      "metrologyUrl": "text",
      "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
      },
      "nodeCount": 1,
      "patchParty": {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "patchGroup": "text",
        "patchTag": "text"
      },
      "path": "text",
      "prettyLabel": "text",
      "productCode": "text",
      "productName": "text",
      "productVersion": "text",
      "releasedAt": "2025-12-08T11:38:50.942Z",
      "replicationStatus": true,
      "resourceType": "text",
      "serviceId": 1,
      "serviceKey": "text",
      "serviceName": "text",
      "status": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "supportPhase": "text",
      "supportsHAMode": true,
      "technicalId": "text",
      "technology": "text",
      "topology": "text",
      "type": "text",
      "version": "text",
      "versionDetailed": "text"
    }
    GET /itcare/compute/containers/kubernetes/{id}/loadbalancers HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    POST /itcare/compute/containers/kubernetes/{id}/loadbalancers HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 2035
    
    {
      "area": "text",
      "backupEnabled": true,
      "certificateName": "text",
      "cloudId": 1,
      "dbBackupPolicyId": "text",
      "healthcheck": "text",
      "networkId": 1,
      "noBackupProdReason": "text",
      "noMonitoringProdReason": "text",
      "noReplicationProdReason": "text",
      "persistence": true,
      "portMembers": "text",
      "product": {
        "BACKUP_POLICY_TYPE": "text",
        "CATEGORY_WEIGHT": 1,
        "CODE": "text",
        "COMMENT": "text",
        "DOCUMENTATION": "text",
        "EDITION": "text",
        "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
        "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "ENFORCED_AUTH_DOMAIN": true,
        "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "FAMILY_WEIGHT": 1,
        "ID": "text",
        "IMG": "text",
        "LABEL": "text",
        "NAME": "text",
        "PLATFORM": "text",
        "PRODUCT_CATEGORY": "text",
        "PRODUCT_DISPLAYABLE": true,
        "PRODUCT_IS_DISABLED": true,
        "PRODUCT_IS_IN_BETA_MODE": true,
        "PRODUCT_MAGIC_FORMS": "text",
        "PRODUCT_SKIP_TECHNOLOGY": true,
        "PRODUCT_TECHNOLOGY": "text",
        "PRODUCT_VERSION": "text",
        "RELEASED_AT": "2025-12-08T11:38:50.942Z",
        "STATUS": "text",
        "SUPPORT_FORM_AVAILABLE": true,
        "SUPPORT_FORM_ID": "text",
        "SUPPORT_PHASE": "text",
        "TECH_FORMONLY": true,
        "TECH_WEIGHT": 1,
        "TYPE": "text",
        "VERSION": "text",
        "configuration": {
          "topologies": [
            {
              "alwaysOn": "text",
              "cluster": "text",
              "galera": "text",
              "ha": "text",
              "replica": "text",
              "sentinel": "text",
              "single": "text",
              "standalone": "text"
            }
          ]
        },
        "properties": [
          {
            "defaultValue": "text",
            "description": "text",
            "displayed": true,
            "editable": true,
            "key": "text",
            "mandatory": true,
            "value": "text"
          }
        ],
        "resources": [
          {
            "available": true,
            "id": "text",
            "optionDescrEn": "text",
            "optionDescrFr": "text",
            "optionName": "text",
            "optionOrder": "text",
            "ram": 1,
            "vcpus": 1
          }
        ],
        "storage": {
          "maxVolumes": 1,
          "minVolumeSize": 1,
          "totalSizeAuthorized": 1,
          "totalVolumesSize": 1,
          "volumes": [
            {
              "description": "text",
              "editable": 1,
              "exclFromSnap": 1,
              "id": "data",
              "mandatory": true,
              "max": 1,
              "min": 1,
              "order": 1,
              "sizeGb": 1,
              "system": true
            }
          ]
        }
      },
      "profileName": "text",
      "redirectToHttps": true,
      "region": "text",
      "regulation": "text",
      "replicationEnabled": true,
      "serverBackupPolicyId": "text",
      "serviceId": 1,
      "setUpDNSEnabled": true,
      "sslProfile": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "url": "text",
      "vsPort": 1
    }
    GET /itcare/compute/containers/kubernetes/{id}/metrics?type=text HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/compute/containers/kubernetes/{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
      }
    ]
    GET /itcare/compute/containers/kubernetes/{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-12-08T11:38:50.942Z",
          "size": 1,
          "type": "text"
        },
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "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,
            "name": "text",
            "serviceId": 1,
            "status": "text"
          }
        ],
        "metrologyUrl": "text",
        "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-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "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-12-08T11:38:50.942Z",
        "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-12-08T11:38:50.942Z",
          "createdBy": "text",
          "description": "text",
          "expiresAt": "2025-12-08T11:38:50.942Z",
          "id": "text",
          "label": "text",
          "recoveredAt": "2025-12-08T11:38:50.942Z",
          "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"
      }
    ]
    DELETE /itcare/compute/containers/kubernetes/{id}/nodes/{nodeId} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    DELETE /itcare/databases/postgresql/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/databases/postgresql/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "allowMonitoringDisplay": true,
      "allowedReplicationLag": 1,
      "area": "text",
      "backupPolicyDetails": {
        "backups": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "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-12-08T11:38:50.942Z",
      "endOfSupportAt": "2025-12-08T11:38:50.942Z",
      "environment": "text",
      "extendedSupportAt": "2025-12-08T11:38:50.942Z",
      "family": "text",
      "id": 1,
      "instanceCount": 1,
      "internalResourceId": 1,
      "internalType": "text",
      "ipAddress": "text",
      "label": "text",
      "labelArea": "text",
      "labelAvailabilityZone": "text",
      "labelDataCenter": "text",
      "labelRegion": "text",
      "metrologyUrl": "text",
      "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
      },
      "networkId": 1,
      "nodeCount": 1,
      "nodeSizing": "text",
      "patchParty": {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "patchGroup": "text",
        "patchTag": "text"
      },
      "path": "text",
      "prettyLabel": "text",
      "productCode": "text",
      "productName": "text",
      "productVersion": "text",
      "ram": 1,
      "releasedAt": "2025-12-08T11:38:50.942Z",
      "replicationStatus": true,
      "resourceType": "text",
      "serviceId": 1,
      "serviceKey": "text",
      "serviceName": "text",
      "sizing": "text",
      "status": "text",
      "storage": 1,
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "supportPhase": "text",
      "technology": "text",
      "tlsEnabled": true,
      "topology": "text",
      "trigram": "text",
      "type": "text",
      "url": "text",
      "version": "text"
    }
    GET /itcare/databases/postgresql/{id}/databases HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "extensions": [
          {
            "name": "text",
            "schema": "text",
            "version": "text"
          }
        ],
        "name": "text"
      }
    ]
    GET /itcare/databases/postgresql/{id}/extensions HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "comment": "text",
        "link": "text",
        "name": "text",
        "requiresRestarting": true,
        "version": "text"
      }
    ]
    GET /itcare/databases/postgresql/{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
      }
    ]
    GET /itcare/databases/postgresql/{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-12-08T11:38:50.942Z",
          "size": 1,
          "type": "text"
        },
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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",
        "enableProfileBaseNtp": true,
        "enableProfileBaseResolve": true,
        "endOfSalesAt": "2025-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "family": "text",
        "firewallBlockIntraSubnetTraffic": true,
        "firewallEnable": true,
        "firewallPurge": true,
        "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,
            "name": "text",
            "serviceId": 1,
            "status": "text"
          }
        ],
        "manageSentinelOne": true,
        "metrologyUrl": "text",
        "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
        },
        "ntpServers": [
          "text"
        ],
        "osName": "text",
        "osType": "text",
        "parentResourceType": "text",
        "patchParty": {
          "excluded": true,
          "excludedBy": "text",
          "exclusionDate": "2025-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "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"
        },
        "relayHost": "text",
        "releasedAt": "2025-12-08T11:38:50.942Z",
        "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-12-08T11:38:50.942Z",
          "createdBy": "text",
          "description": "text",
          "expiresAt": "2025-12-08T11:38:50.942Z",
          "id": "text",
          "label": "text",
          "recoveredAt": "2025-12-08T11:38:50.942Z",
          "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"
      }
    ]
    GET /itcare/databases/postgresql/{id}/versions HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      1
    ]
    GET /itcare/networking/loadbalancers/internal-whitelist HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      "text"
    ]
    GET /itcare/networking/loadbalancers/protocols HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "comment": "text",
        "isCertificateRequired": true,
        "name": "text",
        "order": 1,
        "persistence": true,
        "port": 1,
        "profileNoPersistenceNoRedirect": "text",
        "profileNoPersistenceOnly": "text",
        "profileNoPersistenceRedirect": "text",
        "profilePersistenceNoRedirect": "text",
        "profilePersistenceOnly": "text",
        "profilePersistenceRedirect": "text",
        "protocol": "text",
        "redirectToHttps": true
      }
    ]
    DELETE /itcare/networking/loadbalancers/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 26
    
    {
      "changeReference": "text"
    }
    GET /itcare/networking/loadbalancers/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "backupPolicyDetails": {
        "backups": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "durationInHours": 1,
            "frequencies": {},
            "label": "text",
            "name": "text",
            "policyId": "text",
            "replication": true,
            "scope": "text",
            "startTime": "text",
            "timezone": "text",
            "type": "text"
          }
        ]
      },
      "backupStatus": true,
      "botDefenseEnabled": true,
      "botDefenseUpdating": true,
      "category": "text",
      "certificate": {
        "certificateName": "text",
        "commonName": "text",
        "description": "text",
        "expirationDate": "text",
        "id": 1
      },
      "cloudId": 1,
      "cloudName": "text",
      "comment": "text",
      "creationTime": "text",
      "creationUser": "text",
      "defaultPersistence": "text",
      "endOfSalesAt": "2025-12-08T11:38:50.942Z",
      "endOfSupportAt": "2025-12-08T11:38:50.942Z",
      "environment": "text",
      "extendedSupportAt": "2025-12-08T11:38:50.942Z",
      "fallbackPersistence": "text",
      "family": "text",
      "healthChecks": [
        {
          "comment": "text",
          "description": "text",
          "id": 1,
          "name": "text"
        }
      ],
      "id": 1,
      "internalResourceId": 1,
      "internalType": "text",
      "ipAddress": "text",
      "irules": [
        {
          "description": "text",
          "name": "text"
        }
      ],
      "label": "text",
      "labelArea": "text",
      "labelAvailabilityZone": "text",
      "labelDataCenter": "text",
      "labelRegion": "text",
      "loadBalancingMode": "text",
      "members": [
        {
          "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-12-08T11:38:50.942Z",
            "size": 1,
            "type": "text"
          },
          "backupPolicyDetails": {
            "backups": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "id": 1,
                "type": "text"
              }
            ],
            "policies": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "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-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "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,
              "name": "text",
              "serviceId": 1,
              "status": "text"
            }
          ],
          "metrologyUrl": "text",
          "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-12-08T11:38:50.942Z",
            "exclusionReason": "text",
            "id": 1,
            "name": "text",
            "patchDate": "2025-12-08T11:38:50.942Z",
            "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-12-08T11:38:50.942Z",
          "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-12-08T11:38:50.942Z",
            "createdBy": "text",
            "description": "text",
            "expiresAt": "2025-12-08T11:38:50.942Z",
            "id": "text",
            "label": "text",
            "recoveredAt": "2025-12-08T11:38:50.942Z",
            "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"
        }
      ],
      "metrologyUrl": "text",
      "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
      },
      "nodeCount": 1,
      "parentResource": {
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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",
        "creationTime": "text",
        "creationUser": "text",
        "endOfSalesAt": "2025-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "family": "text",
        "id": 1,
        "internalResourceId": 1,
        "internalType": "text",
        "ipAddress": "text",
        "label": "text",
        "labelArea": "text",
        "labelAvailabilityZone": "text",
        "labelDataCenter": "text",
        "labelRegion": "text",
        "metrologyUrl": "text",
        "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
        },
        "patchParty": {
          "excluded": true,
          "excludedBy": "text",
          "exclusionDate": "2025-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "patchGroup": "text",
          "patchTag": "text"
        },
        "path": "text",
        "prettyLabel": "text",
        "productCode": "text",
        "productName": "text",
        "productVersion": "text",
        "releasedAt": "2025-12-08T11:38:50.942Z",
        "replicationStatus": true,
        "resourceType": "text",
        "serviceId": 1,
        "serviceKey": "text",
        "serviceName": "text",
        "status": "text",
        "supportLevel": "NO_MONITORING_NO_SUPPORT",
        "supportPhase": "text",
        "technology": "text",
        "type": "text"
      },
      "patchParty": {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "patchGroup": "text",
        "patchTag": "text"
      },
      "path": "text",
      "prettyLabel": "text",
      "productCode": "text",
      "productName": "text",
      "productVersion": "text",
      "protocols": [
        {
          "comment": "text",
          "isCertificateRequired": true,
          "name": "text",
          "order": 1,
          "persistence": true,
          "port": 1,
          "profileNoPersistenceNoRedirect": "text",
          "profileNoPersistenceOnly": "text",
          "profileNoPersistenceRedirect": "text",
          "profilePersistenceNoRedirect": "text",
          "profilePersistenceOnly": "text",
          "profilePersistenceRedirect": "text",
          "protocol": "text",
          "redirectToHttps": true
        }
      ],
      "releasedAt": "2025-12-08T11:38:50.942Z",
      "replicationStatus": true,
      "resourceType": "text",
      "securityProfile": {
        "comment": "text",
        "description": "text",
        "enforcement": "text",
        "id": "text",
        "name": "text",
        "profile": "text",
        "template": "text",
        "whiteList": [
          {
            "comment": "text",
            "ip": "text",
            "url": "text"
          }
        ]
      },
      "serviceId": 1,
      "serviceKey": "text",
      "serviceName": "text",
      "snatAutomap": true,
      "status": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "supportPhase": "text",
      "technology": "text",
      "type": "text",
      "urls": [
        {
          "comment": "text",
          "creationTime": "text",
          "creationUser": "text",
          "description": "text",
          "endOfSalesAt": "2025-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "id": 1,
          "monitoringMode": "text",
          "name": "text",
          "releasedAt": "2025-12-08T11:38:50.942Z",
          "serviceId": 1,
          "serviceKey": "text",
          "serviceName": "text",
          "specificChecks": [
            {
              "name": "text",
              "parameter": {
                "authentification": {
                  "password": "text",
                  "user": "text"
                },
                "criticalContent": "text",
                "criticalStatus": "text",
                "expectedContent": "text",
                "headers": [
                  {
                    "key": "text",
                    "value": "text"
                  }
                ],
                "method": "text",
                "parameters": [
                  {
                    "key": "text",
                    "value": "text"
                  }
                ],
                "path": "text",
                "port": 1,
                "prefix": "text",
                "protocol": "text",
                "warningContent": "text"
              }
            }
          ],
          "status": "text",
          "supportLevel": "NO_MONITORING_NO_SUPPORT",
          "supportPhase": "text",
          "tags": [
            {
              "tagKey": "text",
              "tagValue": "text"
            }
          ],
          "type": "text"
        }
      ]
    }
    GET /itcare/networking/loadbalancers/{id}/events?from=2025-12-08T11%3A38%3A50.942Z&to=2025-12-08T11%3A38%3A50.942Z HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/networking/loadbalancers/{id}/members HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "address": "text",
        "category": "text",
        "family": "text",
        "internalType": "text",
        "labelArea": "text",
        "name": "text",
        "port": 1,
        "productName": "text",
        "resourceId": 1,
        "serviceId": 1,
        "state": "text",
        "status": "text",
        "technicalId": "text",
        "technology": "text"
      }
    ]
    DELETE /itcare/networking/loadbalancers/{id}/members/{memberId} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    PATCH /itcare/networking/loadbalancers/{id}/members/{memberId} 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": {}
      }
    }
    GET /itcare/networking/loadbalancers/{id}/ssl-profiles HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/networking/loadbalancers/{id}/stats HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "ANY_ADDITIONAL_PROPERTY": {
          "ANY_ADDITIONAL_PROPERTY": {}
        }
      }
    ]
    GET /itcare/networking/loadbalancers/{id}/urls HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "comment": "text",
        "creationTime": "text",
        "creationUser": "text",
        "description": "text",
        "endOfSalesAt": "2025-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "id": 1,
        "monitoringMode": "text",
        "name": "text",
        "releasedAt": "2025-12-08T11:38:50.942Z",
        "serviceId": 1,
        "serviceKey": "text",
        "serviceName": "text",
        "specificChecks": [
          {
            "name": "text",
            "parameter": {
              "authentification": {
                "password": "text",
                "user": "text"
              },
              "criticalContent": "text",
              "criticalStatus": "text",
              "expectedContent": "text",
              "headers": [
                {
                  "key": "text",
                  "value": "text"
                }
              ],
              "method": "text",
              "parameters": [
                {
                  "key": "text",
                  "value": "text"
                }
              ],
              "path": "text",
              "port": 1,
              "prefix": "text",
              "protocol": "text",
              "warningContent": "text"
            }
          }
        ],
        "status": "text",
        "supportLevel": "NO_MONITORING_NO_SUPPORT",
        "supportPhase": "text",
        "tags": [
          {
            "tagKey": "text",
            "tagValue": "text"
          }
        ],
        "type": "text"
      }
    ]
    POST /itcare/networking/loadbalancers/{id}/urls HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 100
    
    {
      "name": "text",
      "setUpDNSEnabled": true,
      "sslProfile": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT"
    }
    DELETE /itcare/networking/loadbalancers/{id}/urls/{urlId} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /itcare/changes HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    

    Actions disponibles en libre-service dans notre outil de gestion de la plateforme en nuage ITCare.

    Activer ou désactiver la surveillance, le 24x7, la sauvegarde et la réplication des données

    Actions disponibles en libre-service dans notre outil de gestion de la plateforme en nuage ITCare.

    Ajouter ou supprimer une plage de maintenance

    Actions disponibles en libre-service dans notre outil de gestion de la plateforme en nuage ITCare.

    Modifier l'allocation de l'espace de stockage

    Un ticket de requête est nécessaire pour modifier l'allocation de stockage d'une Instance Virtuelle.

    Modifier un fichier de configuration

    Certains fichiers de configuration (tels que les repository) seront gérés par cegedim.cloud. Un ticket requête est nécessaire pour modifier certains de ces composants.

    • 2016

    • 2017

    • 2019

    • 2022

    Sauvegarde

    ✅ Option

    ✅ Option

    Surveillance

    ✅ Option

    ✅ Option

    Surveillance 24x7

    ✅ Option

    ✅ Option

    Réplication de données (PRA)

    ✅ Option

    ✅ Option

    Disponibilité

    99,8%

    99,9%

    Déploiement Multi-AZ

    ❌

    ✅

    Libre-service

    ✅

    ❌

    Le mode de sauvegarde :

    • Point-in-time Recovery (PITR) à partir de PostgreSQL 12 et supérieur.

      • Le mode de sauvegarde "dump" disparait donc au profit du "PITR" et ne reste utilisé que dans les versions de PostgreSQL inférieures à la version 12.

    Vacuuming de PostgreSQL : 1 minute en moyenne

  • Sauvegarde complète de PostgreSQL (mode PITR) : 16 minutes en moyenne

  • PostgreSQL 16

    Debian 12

    ✅ *

    Debian 9 → Debian 10

    ✅ **

    Debian 9 → Debian 11

    ✅ **

    Debian 9 → Debian 11

    ✅** Debian 9 → Debian 11

    ✅*** Debian 9 → Debian 12

    PostgreSQL 12

    ✅ *

    Debian 10 → Debian 11

    ✅ *

    Debian 10 → Debian 11

    ✅* Debian 10 → Debian 11

    ✅** Debian 10 → Debian 12

    PostgreSQL 13

    ✅

    ✅

    ✅* Debian 11 → Debian 12

    PostgreSQL 14

    ✅

    ✅* Debian 11 → Debian 12

    PostgreSQL 15

    ✅* Debian 11 → Debian 12

    PostgreSQL 10

    Debian 9

    PostgreSQL 11

    Debian 10

    PostgreSQL 12

    Debian 10

    PostgreSQL 13

    Debian 11

    PostgreSQL 14

    Debian 11

    PostgreSQL 15

    PostgreSQL 10

    ✅ *

    Debian 9 → Debian 10

    ✅ *

    Debian 9 → Debian 10

    ✅ **

    Debian 9 → Debian 11

    ✅ **

    Debian 9 → Debian 11

    ✅** Debian 9 → Debian 11

    ✅*** Debian 9 → Debian 12

    ticket requête
    PostgreSQL - Mise à jour

    Debian 11

    PostgreSQL 11

    Logo
  • Sélectionner une topologie

  • Définir le nom du futur déploiement

  • Le dimensionnement

  • Le stockage requis sur chaque instance

  • La localisation cible

  • Le réseau cible

  • Les options de gestion (sauvegarde, surveillance, 24/7, réplication site distant)

  • Cliquer sur Suivant une fois les champs remplis.

    A l'étape de personnalisation :

    • Saisir le mot de passe du compte administrateur qui sera fourni

    • Sélectionner les options de persistance requises

    • Activer ou non le chiffrement TLS

    Puis cliquer sur Suivant.

    Les mots de passe ne sont pas sauvegardés par cegedim.cloud.

    Assurez-vous de sauvegarder votre mot de passe!

    Réviser la synthèse avant de soumettre le formulaire.

    Le provisionnement peut prendre jusqu'à 2 heures en fonction de la charge actuelle de l'automatisation.

    Une fois le déploiement prêt, vous en serez informé par e-mail.

    Comment se connecter à une instance autonome Redis ?

    Ce code décrit comment se connecter sur Redis lorsque la topologie est une instance unique. Ce code est volontairement simplifié (les erreurs ne sont pas gérées), il est destiné à la démonstration uniquement.

    Le langage Python est utilisé. Nous supposons que l'instance Redis est nommée pcluredis01.hosting.cegedim.cloud.

    Exemple Python sans TLS
    Exemple Python avec TLS

    Comment se connecter à un cluster Redis ?

    Ce code décrit comment se connecter sur Redis lorsque la topologie est Cluster (avec Sentinel). Il est volontairement simplifié (les erreurs ne sont pas gérées), il est destiné à la démonstration uniquement.

    Le langage Python est utilisé.

    Nous supposons que le cluster Redis est nommé redis-cluster avec un préfixe pclu. Il existe donc 3 machines :

    • pcluredis01.hosting.cegedim.cloud

    • pcluredis02.hosting.cegedim.cloud

    • pcluredis03.hosting.cegedim.cloud

    Deux exemples sont proposés, avec et sans TLS.

    Exemple Python sans TLS
    Exemple Python avec TLS
    import redis
     
    def main():
        try:
            myRedis = redis.Redis(host='redis01.hosting.cegedim.cloud', port=6379, db=0, password='1MyStrongPassword!', username='redis', decode_responses=True)
            pong = myRedis.ping()
            print(pong) # should be True
            myRedis.set('mykey','myvalue')
            print(myRedis.get('mykey')) # should be myvalue
            myRedis.close()
        except Exception as ex:
            print(ex)
     
    if __name__ == "__main__":
        main()
    import redis
     
    def main():
        try:
            myRedis = redis.Redis(host='redis01.hosting.cegedim.cloud', port=6379, db=0, password='1MyStrongPassword!', username='redis', decode_responses=True)
            pong = myRedis.ping()
            print(pong) # should be True
            myRedis.set('mykey','myvalue')
            print(myRedis.get('mykey')) # should be myvalue
            myRedis.close()
        except Exception as ex:
            print(ex)
     
    if __name__ == "__main__":
        main()
    from redis.sentinel import Sentinel
    import redis
     
    def main():
        try:
            mySentinel = Sentinel(
              [
                ('pcluredis01.hosting.cegedim.cloud', 26379),
                ('pcluredis02.hosting.cegedim.cloud', 26379),
                ('pcluredis03.hosting.cegedim.cloud', 26379)
              ],
              sentinel_kwargs={
                'username': 'redis',
                'password': '1MyStrongPassword!',
                'socket_connect_timeout': 0.5
              }
            )
             
            master_host, master_port = mySentinel.discover_master('redis-cluster')
            print("Redis master address: {}, TCP port {}".format(master_host, master_port))
            myMaster = redis.Redis(
              host=master_host,
              port=master_port,
              db=0,
              password='1MyStrongPassword!',
              username='redis',
              decode_responses=True
            )
            pong = myMaster.ping()
            print(pong) # should be True
            myMaster.set('mykey','myvalue')
            print(myMaster.get('mykey')) # should be myvalue
            myMaster.close()
            replicas = mySentinel.discover_slaves('redis-cluster')
            for replica in replicas:
                replica_host = replica[0]
                replica_port = replica[1]
                myReplica = redis.Redis(host=replica_host, port=replica_port, db=0, password='1MyStrongPassword!', username='redis', decode_responses=True)
                print("replica address {} port {} mykey {}".format(replica_host, replica_port, myReplica.get('mykey'))) # should be myvalue
                myReplica.close()
             
        except Exception as ex:
            print(ex)
     
    if __name__ == "__main__":
        main()
    from redis.sentinel import Sentinel
    import redis
     
    def main():
        try:
            mySentinel = Sentinel(
              [
                ('pcluredis01.hosting.cegedim.cloud', 26379),
                ('pcluredis02.hosting.cegedim.cloud', 26379),
                ('pcluredis03.hosting.cegedim.cloud', 26379)
              ],
              sentinel_kwargs={
                'username': 'redis',
                'password': '1MyStrongPassword!',
                'ssl': True,
                'ssl_ca_certs': '/tmp/ca-redis.crt',
                'ssl_cert_reqs': None,
                'ssl_certfile': None,
                'ssl_keyfile': None,
                'ssl_check_hostname': False,
                'socket_connect_timeout': 0.5
              }
            )
             
            master_host, master_port = mySentinel.discover_master('redis-cluster')
            print("Redis master address: {}, TCP port {}".format(master_host, master_port))
            myMaster = redis.Redis(
              host=master_host,
              port=master_port,
              db=0,
              password='1MyStrongPassword!',
              username='redis',
              decode_responses=True,
              ssl=True,
              ssl_ca_certs='/tmp/ca-redis.crt'
            )
            pong = myMaster.ping()
            print(pong) # should be True
            myMaster.set('mykey','myvalue')
            print(myMaster.get('mykey')) # should be myvalue
            myMaster.close()
            replicas = mySentinel.discover_slaves('redis-cluster')
            for replica in replicas:
                replica_host = replica[0]
                replica_port = replica[1]
                myReplica = redis.Redis(host=replica_host, port=replica_port, db=0, password='1MyStrongPassword!', username='redis', decode_responses=True, ssl=True, ssl_ca_certs='/tmp/ca-redis.crt')
                print("replica address {} port {} mykey {}".format(replica_host, replica_port, myReplica.get('mykey'))) # should be myvalue
                myReplica.close()
             
        except Exception as ex:
            print(ex)
     
    if __name__ == "__main__":
        main()
    POST /itcare/analytics/matomo HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/vnd.cegedim-it.v1+json
    Accept: */*
    Content-Length: 1909
    
    {
      "backupEnabled": true,
      "cloudId": 1,
      "dbBackupPolicyId": "text",
      "defaultWebSiteName": "text",
      "defaultWebUri": "text",
      "name": "text",
      "noBackupProdReason": "text",
      "noMonitoringProdReason": "text",
      "noReplicationProdReason": "text",
      "password": "text",
      "product": {
        "BACKUP_POLICY_TYPE": "text",
        "CATEGORY_WEIGHT": 1,
        "CODE": "text",
        "COMMENT": "text",
        "DOCUMENTATION": "text",
        "EDITION": "text",
        "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
        "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "ENFORCED_AUTH_DOMAIN": true,
        "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "FAMILY_WEIGHT": 1,
        "ID": "text",
        "IMG": "text",
        "LABEL": "text",
        "NAME": "text",
        "PLATFORM": "text",
        "PRODUCT_CATEGORY": "text",
        "PRODUCT_DISPLAYABLE": true,
        "PRODUCT_IS_DISABLED": true,
        "PRODUCT_IS_IN_BETA_MODE": true,
        "PRODUCT_MAGIC_FORMS": "text",
        "PRODUCT_SKIP_TECHNOLOGY": true,
        "PRODUCT_TECHNOLOGY": "text",
        "PRODUCT_VERSION": "text",
        "RELEASED_AT": "2025-12-08T11:38:50.942Z",
        "STATUS": "text",
        "SUPPORT_FORM_AVAILABLE": true,
        "SUPPORT_FORM_ID": "text",
        "SUPPORT_PHASE": "text",
        "TECH_FORMONLY": true,
        "TECH_WEIGHT": 1,
        "TYPE": "text",
        "VERSION": "text",
        "configuration": {
          "topologies": [
            {
              "alwaysOn": "text",
              "cluster": "text",
              "galera": "text",
              "ha": "text",
              "replica": "text",
              "sentinel": "text",
              "single": "text",
              "standalone": "text"
            }
          ]
        },
        "properties": [
          {
            "defaultValue": "text",
            "description": "text",
            "displayed": true,
            "editable": true,
            "key": "text",
            "mandatory": true,
            "value": "text"
          }
        ],
        "resources": [
          {
            "available": true,
            "id": "text",
            "optionDescrEn": "text",
            "optionDescrFr": "text",
            "optionName": "text",
            "optionOrder": "text",
            "ram": 1,
            "vcpus": 1
          }
        ],
        "storage": {
          "maxVolumes": 1,
          "minVolumeSize": 1,
          "totalSizeAuthorized": 1,
          "totalVolumesSize": 1,
          "volumes": [
            {
              "description": "text",
              "editable": 1,
              "exclFromSnap": 1,
              "id": "data",
              "mandatory": true,
              "max": 1,
              "min": 1,
              "order": 1,
              "sizeGb": 1,
              "system": true
            }
          ]
        }
      },
      "region": "text",
      "regulation": "text",
      "replicationEnabled": true,
      "serverBackupPolicyId": "text",
      "serviceId": 1,
      "sizing": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    PATCH /itcare/analytics/matomo/{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-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    GET /itcare/compute/application-servers HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "content": [
        {
          "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-12-08T11:38:50.942Z",
            "size": 1,
            "type": "text"
          },
          "backupPolicyDetails": {
            "backups": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "id": 1,
                "type": "text"
              }
            ],
            "policies": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "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-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "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,
              "name": "text",
              "serviceId": 1,
              "status": "text"
            }
          ],
          "metrologyUrl": "text",
          "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-12-08T11:38:50.942Z",
            "exclusionReason": "text",
            "id": 1,
            "name": "text",
            "patchDate": "2025-12-08T11:38:50.942Z",
            "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-12-08T11:38:50.942Z",
          "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-12-08T11:38:50.942Z",
            "createdBy": "text",
            "description": "text",
            "expiresAt": "2025-12-08T11:38:50.942Z",
            "id": "text",
            "label": "text",
            "recoveredAt": "2025-12-08T11:38:50.942Z",
            "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"
        }
      ],
      "empty": true,
      "first": true,
      "last": true,
      "number": 1,
      "numberOfElements": 1,
      "pageable": {
        "offset": 1,
        "pageNumber": 1,
        "pageSize": 1,
        "paged": true,
        "sort": [
          {
            "ascending": true,
            "direction": "text",
            "ignoreCase": true,
            "nullHandling": "text",
            "property": "text"
          }
        ],
        "unpaged": true
      },
      "size": 1,
      "sort": [
        {
          "ascending": true,
          "direction": "text",
          "ignoreCase": true,
          "nullHandling": "text",
          "property": "text"
        }
      ],
      "totalElements": 1,
      "totalPages": 1
    }
    [
      {
        "name": "text",
        "skipTechnology": true,
        "types": [
          {
            "description": "text",
            "disabled": true,
            "families": [
              {
                "description": "text",
                "name": "text",
                "weight": "text"
              }
            ],
            "inBetaMode": true,
            "name": "text",
            "releasedAt": "2025-12-08T11:38:50.942Z",
            "skipTechnology": true,
            "weight": 1
          }
        ],
        "weight": 1
      }
    ]
    {
      "content": [
        {
          "advancedMonitoringAllowed": true,
          "cloud": "text",
          "cloudId": 1,
          "comment": "text",
          "environment": "text",
          "id": 1,
          "key": "text",
          "name": "text",
          "relations": {
            "dependencies": [
              {
                "advancedMonitoringAllowed": true,
                "cloud": "text",
                "cloudId": 1,
                "comment": "text",
                "environment": "text",
                "id": 1,
                "key": "text",
                "name": "text",
                "relations": "[Circular Reference]",
                "smsSubscribed": true,
                "status": "ACTIVE,PREPARATION"
              }
            ],
            "impacts": [
              {
                "advancedMonitoringAllowed": true,
                "cloud": "text",
                "cloudId": 1,
                "comment": "text",
                "environment": "text",
                "id": 1,
                "key": "text",
                "name": "text",
                "relations": "[Circular Reference]",
                "smsSubscribed": true,
                "status": "ACTIVE,PREPARATION"
              }
            ]
          },
          "smsSubscribed": true,
          "status": "ACTIVE,PREPARATION"
        }
      ],
      "empty": true,
      "first": true,
      "last": true,
      "number": 1,
      "numberOfElements": 1,
      "pageable": {
        "offset": 1,
        "pageNumber": 1,
        "pageSize": 1,
        "paged": true,
        "sort": [
          {
            "ascending": true,
            "direction": "text",
            "ignoreCase": true,
            "nullHandling": "text",
            "property": "text"
          }
        ],
        "unpaged": true
      },
      "size": 1,
      "sort": [
        {
          "ascending": true,
          "direction": "text",
          "ignoreCase": true,
          "nullHandling": "text",
          "property": "text"
        }
      ],
      "totalElements": 1,
      "totalPages": 1
    }
    [
      {
        "family": "text",
        "id": 1,
        "internalId": 1,
        "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
        "message": "text",
        "process": "text",
        "resourceName": "text",
        "resourceType": "text",
        "status": "SUCCESS,IN_PROGRESS,ERROR"
      }
    ]
    [
      {
        "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-12-08T11:38:50.942Z",
          "size": 1,
          "type": "text"
        },
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "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,
            "name": "text",
            "serviceId": 1,
            "status": "text"
          }
        ],
        "metrologyUrl": "text",
        "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-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "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-12-08T11:38:50.942Z",
        "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-12-08T11:38:50.942Z",
          "createdBy": "text",
          "description": "text",
          "expiresAt": "2025-12-08T11:38:50.942Z",
          "id": "text",
          "label": "text",
          "recoveredAt": "2025-12-08T11:38:50.942Z",
          "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"
      }
    ]
    [
      {
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "family": "text",
        "id": 1,
        "internalResourceId": 1,
        "internalType": "text",
        "ipAddress": "text",
        "label": "text",
        "labelArea": "text",
        "labelAvailabilityZone": "text",
        "labelDataCenter": "text",
        "labelRegion": "text",
        "metrologyUrl": "text",
        "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
        },
        "nodeCount": 1,
        "patchParty": {
          "excluded": true,
          "excludedBy": "text",
          "exclusionDate": "2025-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "patchGroup": "text",
          "patchTag": "text"
        },
        "path": "text",
        "prettyLabel": "text",
        "productCode": "text",
        "productName": "text",
        "productVersion": "text",
        "ram": 1,
        "releasedAt": "2025-12-08T11:38:50.942Z",
        "replicationStatus": true,
        "resourceType": "text",
        "serviceId": 1,
        "serviceKey": "text",
        "serviceName": "text",
        "sizing": "text",
        "status": "text",
        "supportLevel": "NO_MONITORING_NO_SUPPORT",
        "supportPhase": "text",
        "technology": "text",
        "topology": "text",
        "type": "text",
        "version": "text"
      }
    ]
    [
      {
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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",
        "creationTime": "text",
        "creationUser": "text",
        "dc": "text",
        "endOfCoverDate": "text",
        "endOfSalesAt": "2025-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "family": "text",
        "id": 1,
        "internalResourceId": 1,
        "internalType": "text",
        "ip": "text",
        "ipAddress": "text",
        "label": "text",
        "labelArea": "text",
        "labelAvailabilityZone": "text",
        "labelDataCenter": "text",
        "labelRegion": "text",
        "location": "text",
        "maintenanceType": "text",
        "metrologyUrl": "text",
        "model": "text",
        "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
        },
        "patchParty": {
          "excluded": true,
          "excludedBy": "text",
          "exclusionDate": "2025-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "patchGroup": "text",
          "patchTag": "text"
        },
        "path": "text",
        "prettyLabel": "text",
        "productCode": "text",
        "productName": "text",
        "productVersion": "text",
        "rack": "text",
        "region": "text",
        "releasedAt": "2025-12-08T11:38:50.942Z",
        "replicationStatus": true,
        "resourceType": "text",
        "serial": "text",
        "serviceId": 1,
        "serviceKey": "text",
        "serviceName": "text",
        "status": "text",
        "sticker": "text",
        "supportLevel": "NO_MONITORING_NO_SUPPORT",
        "supportPhase": "text",
        "technology": "text",
        "type": "text"
      }
    ]
    [
      {
        "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-12-08T11:38:50.942Z",
          "size": 1,
          "type": "text"
        },
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "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,
            "name": "text",
            "serviceId": 1,
            "status": "text"
          }
        ],
        "metrologyUrl": "text",
        "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-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "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-12-08T11:38:50.942Z",
        "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-12-08T11:38:50.942Z",
          "createdBy": "text",
          "description": "text",
          "expiresAt": "2025-12-08T11:38:50.942Z",
          "id": "text",
          "label": "text",
          "recoveredAt": "2025-12-08T11:38:50.942Z",
          "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"
      }
    ]
    [
      {
        "allowMonitoringDisplay": true,
        "availableAZs": [
          "text"
        ],
        "availableDCs": [
          "text"
        ],
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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",
        "creationTime": "text",
        "creationUser": "text",
        "endOfSalesAt": "2025-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "family": "text",
        "id": 1,
        "ingressProvider": "NGINX",
        "internalResourceId": 1,
        "internalType": "text",
        "ipAddress": "text",
        "label": "text",
        "labelArea": "text",
        "labelAreaList": [
          "text"
        ],
        "labelAvailabilityZone": "text",
        "labelDataCenter": "text",
        "labelRegion": "text",
        "lastKubeVersion": "text",
        "managementUrl": "text",
        "metrologyUrl": "text",
        "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
        },
        "nodeCount": 1,
        "patchParty": {
          "excluded": true,
          "excludedBy": "text",
          "exclusionDate": "2025-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "patchGroup": "text",
          "patchTag": "text"
        },
        "path": "text",
        "prettyLabel": "text",
        "productCode": "text",
        "productName": "text",
        "productVersion": "text",
        "releasedAt": "2025-12-08T11:38:50.942Z",
        "replicationStatus": true,
        "resourceType": "text",
        "serviceId": 1,
        "serviceKey": "text",
        "serviceName": "text",
        "status": "text",
        "supportLevel": "NO_MONITORING_NO_SUPPORT",
        "supportPhase": "text",
        "supportsHAMode": true,
        "technicalId": "text",
        "technology": "text",
        "topology": "text",
        "type": "text",
        "version": "text",
        "versionDetailed": "text"
      }
    ]
    [
      {
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "durationInHours": 1,
              "frequencies": {},
              "label": "text",
              "name": "text",
              "policyId": "text",
              "replication": true,
              "scope": "text",
              "startTime": "text",
              "timezone": "text",
              "type": "text"
            }
          ]
        },
        "backupStatus": true,
        "botDefenseEnabled": true,
        "botDefenseUpdating": true,
        "category": "text",
        "certificate": {
          "certificateName": "text",
          "commonName": "text",
          "description": "text",
          "expirationDate": "text",
          "id": 1
        },
        "cloudId": 1,
        "cloudName": "text",
        "comment": "text",
        "creationTime": "text",
        "creationUser": "text",
        "defaultPersistence": "text",
        "endOfSalesAt": "2025-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "fallbackPersistence": "text",
        "family": "text",
        "healthChecks": [
          {
            "comment": "text",
            "description": "text",
            "id": 1,
            "name": "text"
          }
        ],
        "id": 1,
        "internalResourceId": 1,
        "internalType": "text",
        "ipAddress": "text",
        "irules": [
          {
            "description": "text",
            "name": "text"
          }
        ],
        "label": "text",
        "labelArea": "text",
        "labelAvailabilityZone": "text",
        "labelDataCenter": "text",
        "labelRegion": "text",
        "loadBalancingMode": "text",
        "members": [
          {
            "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-12-08T11:38:50.942Z",
              "size": 1,
              "type": "text"
            },
            "backupPolicyDetails": {
              "backups": [
                {
                  "backupLastDate": "2025-12-08T11:38:50.942Z",
                  "backupSize": 1,
                  "id": 1,
                  "type": "text"
                }
              ],
              "policies": [
                {
                  "backupLastDate": "2025-12-08T11:38:50.942Z",
                  "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-12-08T11:38:50.942Z",
            "endOfSupportAt": "2025-12-08T11:38:50.942Z",
            "environment": "text",
            "extendedSupportAt": "2025-12-08T11:38:50.942Z",
            "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,
                "name": "text",
                "serviceId": 1,
                "status": "text"
              }
            ],
            "metrologyUrl": "text",
            "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-12-08T11:38:50.942Z",
              "exclusionReason": "text",
              "id": 1,
              "name": "text",
              "patchDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
            "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-12-08T11:38:50.942Z",
              "createdBy": "text",
              "description": "text",
              "expiresAt": "2025-12-08T11:38:50.942Z",
              "id": "text",
              "label": "text",
              "recoveredAt": "2025-12-08T11:38:50.942Z",
              "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"
          }
        ],
        "metrologyUrl": "text",
        "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
        },
        "nodeCount": 1,
        "parentResource": {
          "backupPolicyDetails": {
            "backups": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "id": 1,
                "type": "text"
              }
            ],
            "policies": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "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",
          "creationTime": "text",
          "creationUser": "text",
          "endOfSalesAt": "2025-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "family": "text",
          "id": 1,
          "internalResourceId": 1,
          "internalType": "text",
          "ipAddress": "text",
          "label": "text",
          "labelArea": "text",
          "labelAvailabilityZone": "text",
          "labelDataCenter": "text",
          "labelRegion": "text",
          "metrologyUrl": "text",
          "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
          },
          "patchParty": {
            "excluded": true,
            "excludedBy": "text",
            "exclusionDate": "2025-12-08T11:38:50.942Z",
            "exclusionReason": "text",
            "id": 1,
            "name": "text",
            "patchDate": "2025-12-08T11:38:50.942Z",
            "patchGroup": "text",
            "patchTag": "text"
          },
          "path": "text",
          "prettyLabel": "text",
          "productCode": "text",
          "productName": "text",
          "productVersion": "text",
          "releasedAt": "2025-12-08T11:38:50.942Z",
          "replicationStatus": true,
          "resourceType": "text",
          "serviceId": 1,
          "serviceKey": "text",
          "serviceName": "text",
          "status": "text",
          "supportLevel": "NO_MONITORING_NO_SUPPORT",
          "supportPhase": "text",
          "technology": "text",
          "type": "text"
        },
        "patchParty": {
          "excluded": true,
          "excludedBy": "text",
          "exclusionDate": "2025-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "patchGroup": "text",
          "patchTag": "text"
        },
        "path": "text",
        "prettyLabel": "text",
        "productCode": "text",
        "productName": "text",
        "productVersion": "text",
        "protocols": [
          {
            "comment": "text",
            "isCertificateRequired": true,
            "name": "text",
            "order": 1,
            "persistence": true,
            "port": 1,
            "profileNoPersistenceNoRedirect": "text",
            "profileNoPersistenceOnly": "text",
            "profileNoPersistenceRedirect": "text",
            "profilePersistenceNoRedirect": "text",
            "profilePersistenceOnly": "text",
            "profilePersistenceRedirect": "text",
            "protocol": "text",
            "redirectToHttps": true
          }
        ],
        "releasedAt": "2025-12-08T11:38:50.942Z",
        "replicationStatus": true,
        "resourceType": "text",
        "securityProfile": {
          "comment": "text",
          "description": "text",
          "enforcement": "text",
          "id": "text",
          "name": "text",
          "profile": "text",
          "template": "text",
          "whiteList": [
            {
              "comment": "text",
              "ip": "text",
              "url": "text"
            }
          ]
        },
        "serviceId": 1,
        "serviceKey": "text",
        "serviceName": "text",
        "snatAutomap": true,
        "status": "text",
        "supportLevel": "NO_MONITORING_NO_SUPPORT",
        "supportPhase": "text",
        "technology": "text",
        "type": "text",
        "urls": [
          {
            "comment": "text",
            "creationTime": "text",
            "creationUser": "text",
            "description": "text",
            "endOfSalesAt": "2025-12-08T11:38:50.942Z",
            "endOfSupportAt": "2025-12-08T11:38:50.942Z",
            "environment": "text",
            "extendedSupportAt": "2025-12-08T11:38:50.942Z",
            "id": 1,
            "monitoringMode": "text",
            "name": "text",
            "releasedAt": "2025-12-08T11:38:50.942Z",
            "serviceId": 1,
            "serviceKey": "text",
            "serviceName": "text",
            "specificChecks": [
              {
                "name": "text",
                "parameter": {
                  "authentification": {
                    "password": "text",
                    "user": "text"
                  },
                  "criticalContent": "text",
                  "criticalStatus": "text",
                  "expectedContent": "text",
                  "headers": [
                    {
                      "key": "text",
                      "value": "text"
                    }
                  ],
                  "method": "text",
                  "parameters": [
                    {
                      "key": "text",
                      "value": "text"
                    }
                  ],
                  "path": "text",
                  "port": 1,
                  "prefix": "text",
                  "protocol": "text",
                  "warningContent": "text"
                }
              }
            ],
            "status": "text",
            "supportLevel": "NO_MONITORING_NO_SUPPORT",
            "supportPhase": "text",
            "tags": [
              {
                "tagKey": "text",
                "tagValue": "text"
              }
            ],
            "type": "text"
          }
        ]
      }
    ]
    [
      {
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "durationInHours": 1,
              "frequencies": {},
              "label": "text",
              "name": "text",
              "policyId": "text",
              "replication": true,
              "scope": "text",
              "startTime": "text",
              "timezone": "text",
              "type": "text"
            }
          ]
        },
        "backupStatus": true,
        "backupSystem": "text",
        "category": "text",
        "cloudId": 1,
        "cloudName": "text",
        "comment": "text",
        "cpu": 1,
        "creationTime": "text",
        "creationUser": "text",
        "drpClass": "text",
        "endOfSalesAt": "2025-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "family": "text",
        "id": 1,
        "internalResourceId": 1,
        "internalType": "text",
        "ipAddress": "text",
        "label": "text",
        "labelArea": "text",
        "labelAvailabilityZone": "text",
        "labelDataCenter": "text",
        "labelRegion": "text",
        "metrologyUrl": "text",
        "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
        },
        "nodeCount": 1,
        "patchParty": {
          "excluded": true,
          "excludedBy": "text",
          "exclusionDate": "2025-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "patchGroup": "text",
          "patchTag": "text"
        },
        "path": "text",
        "prettyLabel": "text",
        "productCode": "text",
        "productName": "text",
        "productVersion": "text",
        "ram": 1,
        "releasedAt": "2025-12-08T11:38:50.942Z",
        "replicationStatus": true,
        "resourceType": "text",
        "serviceId": 1,
        "serviceKey": "text",
        "serviceName": "text",
        "sizing": "text",
        "status": "text",
        "supportLevel": "NO_MONITORING_NO_SUPPORT",
        "supportPhase": "text",
        "technology": "text",
        "topology": "text",
        "type": "text",
        "version": "text"
      }
    ]
    [
      {
        "allowMonitoringDisplay": true,
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "family": "text",
        "id": 1,
        "internalResourceId": 1,
        "internalType": "text",
        "ipAddress": "text",
        "label": "text",
        "labelArea": "text",
        "labelAvailabilityZone": "text",
        "labelDataCenter": "text",
        "labelRegion": "text",
        "metrologyUrl": "text",
        "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
        },
        "nodeCount": 1,
        "patchParty": {
          "excluded": true,
          "excludedBy": "text",
          "exclusionDate": "2025-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "patchGroup": "text",
          "patchTag": "text"
        },
        "path": "text",
        "prettyLabel": "text",
        "productCode": "text",
        "productName": "text",
        "productVersion": "text",
        "ram": 1,
        "releasedAt": "2025-12-08T11:38:50.942Z",
        "replicationStatus": true,
        "resourceType": "text",
        "serviceId": 1,
        "serviceKey": "text",
        "serviceName": "text",
        "sizing": "text",
        "status": "text",
        "supportLevel": "NO_MONITORING_NO_SUPPORT",
        "supportPhase": "text",
        "technology": "text",
        "type": "text",
        "version": "text"
      }
    ]
    GET /itcare/compute/services/{id}/patch-policies HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    [
      {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "patchGroup": "text",
        "patchTag": "text"
      }
    ]
    [
      {
        "family": "text",
        "id": 1,
        "internalId": 1,
        "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
        "message": "text",
        "process": "text",
        "resourceName": "text",
        "resourceType": "text",
        "status": "SUCCESS,IN_PROGRESS,ERROR"
      }
    ]
    [
      {
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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",
        "creationTime": "text",
        "creationUser": "text",
        "endOfSalesAt": "2025-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "family": "text",
        "id": 1,
        "internalResourceId": 1,
        "internalType": "text",
        "ipAddress": "text",
        "label": "text",
        "labelArea": "text",
        "labelAvailabilityZone": "text",
        "labelDataCenter": "text",
        "labelRegion": "text",
        "metrologyUrl": "text",
        "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
        },
        "patchParty": {
          "excluded": true,
          "excludedBy": "text",
          "exclusionDate": "2025-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "patchGroup": "text",
          "patchTag": "text"
        },
        "path": "text",
        "prettyLabel": "text",
        "productCode": "text",
        "productName": "text",
        "productVersion": "text",
        "releasedAt": "2025-12-08T11:38:50.942Z",
        "replicationStatus": true,
        "resourceType": "text",
        "serviceId": 1,
        "serviceKey": "text",
        "serviceName": "text",
        "status": "text",
        "supportLevel": "NO_MONITORING_NO_SUPPORT",
        "supportPhase": "text",
        "technology": "text",
        "type": "text"
      }
    ]
    [
      {
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "family": "text",
        "id": 1,
        "internalResourceId": 1,
        "internalType": "text",
        "ipAddress": "text",
        "label": "text",
        "labelArea": "text",
        "labelAvailabilityZone": "text",
        "labelDataCenter": "text",
        "labelRegion": "text",
        "metrologyUrl": "text",
        "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
        },
        "nodeCount": "text",
        "patchParty": {
          "excluded": true,
          "excludedBy": "text",
          "exclusionDate": "2025-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "patchGroup": "text",
          "patchTag": "text"
        },
        "path": "text",
        "prettyLabel": "text",
        "productCode": "text",
        "productName": "text",
        "productVersion": "text",
        "ram": 1,
        "releasedAt": "2025-12-08T11:38:50.942Z",
        "replicationStatus": true,
        "resourceType": "text",
        "serviceId": 1,
        "serviceKey": "text",
        "serviceName": "text",
        "sizing": "text",
        "status": "text",
        "supportLevel": "NO_MONITORING_NO_SUPPORT",
        "supportPhase": "text",
        "technology": "text",
        "topology": "text",
        "type": "text",
        "version": "text",
        "virtualIp": "text",
        "volumeCount": "text"
      }
    ]
    [
      {
        "completedAt": "2025-12-08T11:38:50.942Z",
        "family": "text",
        "id": 1,
        "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
        "message": "text",
        "process": "text",
        "resourceName": "text",
        "resourceType": "text",
        "status": "SUCCESS,IN_PROGRESS,ERROR",
        "submittedAt": "2025-12-08T11:38:50.942Z",
        "submittedBy": "text"
      }
    ]
    GET /itcare/databases HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "content": [
        {
          "backupPolicyDetails": {
            "backups": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "id": 1,
                "type": "text"
              }
            ],
            "policies": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "durationInHours": 1,
                "frequencies": {},
                "label": "text",
                "name": "text",
                "policyId": "text",
                "replication": true,
                "scope": "text",
                "startTime": "text",
                "timezone": "text",
                "type": "text"
              }
            ]
          },
          "backupStatus": true,
          "backupSystem": "text",
          "category": "text",
          "cloudId": 1,
          "cloudName": "text",
          "comment": "text",
          "cpu": 1,
          "creationTime": "text",
          "creationUser": "text",
          "drpClass": "text",
          "endOfSalesAt": "2025-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "family": "text",
          "id": 1,
          "internalResourceId": 1,
          "internalType": "text",
          "ipAddress": "text",
          "label": "text",
          "labelArea": "text",
          "labelAvailabilityZone": "text",
          "labelDataCenter": "text",
          "labelRegion": "text",
          "metrologyUrl": "text",
          "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
          },
          "nodeCount": 1,
          "patchParty": {
            "excluded": true,
            "excludedBy": "text",
            "exclusionDate": "2025-12-08T11:38:50.942Z",
            "exclusionReason": "text",
            "id": 1,
            "name": "text",
            "patchDate": "2025-12-08T11:38:50.942Z",
            "patchGroup": "text",
            "patchTag": "text"
          },
          "path": "text",
          "prettyLabel": "text",
          "productCode": "text",
          "productName": "text",
          "productVersion": "text",
          "ram": 1,
          "releasedAt": "2025-12-08T11:38:50.942Z",
          "replicationStatus": true,
          "resourceType": "text",
          "serviceId": 1,
          "serviceKey": "text",
          "serviceName": "text",
          "sizing": "text",
          "status": "text",
          "supportLevel": "NO_MONITORING_NO_SUPPORT",
          "supportPhase": "text",
          "technology": "text",
          "topology": "text",
          "type": "text",
          "version": "text"
        }
      ],
      "empty": true,
      "first": true,
      "last": true,
      "number": 1,
      "numberOfElements": 1,
      "pageable": {
        "offset": 1,
        "pageNumber": 1,
        "pageSize": 1,
        "paged": true,
        "sort": [
          {
            "ascending": true,
            "direction": "text",
            "ignoreCase": true,
            "nullHandling": "text",
            "property": "text"
          }
        ],
        "unpaged": true
      },
      "size": 1,
      "sort": [
        {
          "ascending": true,
          "direction": "text",
          "ignoreCase": true,
          "nullHandling": "text",
          "property": "text"
        }
      ],
      "totalElements": 1,
      "totalPages": 1
    }
    GET /itcare/storage/glusterfs HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "content": [
        {
          "allowMonitoringDisplay": true,
          "backupPolicyDetails": {
            "backups": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "id": 1,
                "type": "text"
              }
            ],
            "policies": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "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-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "family": "text",
          "id": 1,
          "internalResourceId": 1,
          "internalType": "text",
          "ipAddress": "text",
          "label": "text",
          "labelArea": "text",
          "labelAvailabilityZone": "text",
          "labelDataCenter": "text",
          "labelRegion": "text",
          "metrologyUrl": "text",
          "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
          },
          "nodeCount": "text",
          "patchParty": {
            "excluded": true,
            "excludedBy": "text",
            "exclusionDate": "2025-12-08T11:38:50.942Z",
            "exclusionReason": "text",
            "id": 1,
            "name": "text",
            "patchDate": "2025-12-08T11:38:50.942Z",
            "patchGroup": "text",
            "patchTag": "text"
          },
          "path": "text",
          "prettyLabel": "text",
          "productCode": "text",
          "productName": "text",
          "productVersion": "text",
          "ram": 1,
          "releasedAt": "2025-12-08T11:38:50.942Z",
          "replicationStatus": true,
          "resourceType": "text",
          "serviceId": 1,
          "serviceKey": "text",
          "serviceName": "text",
          "sizing": "text",
          "status": "text",
          "supportLevel": "NO_MONITORING_NO_SUPPORT",
          "supportPhase": "text",
          "technology": "text",
          "topology": "text",
          "type": "text",
          "url": "text",
          "version": "text",
          "virtualIp": "text"
        }
      ],
      "empty": true,
      "first": true,
      "last": true,
      "number": 1,
      "numberOfElements": 1,
      "pageable": {
        "offset": 1,
        "pageNumber": 1,
        "pageSize": 1,
        "paged": true,
        "sort": [
          {
            "ascending": true,
            "direction": "text",
            "ignoreCase": true,
            "nullHandling": "text",
            "property": "text"
          }
        ],
        "unpaged": true
      },
      "size": 1,
      "sort": [
        {
          "ascending": true,
          "direction": "text",
          "ignoreCase": true,
          "nullHandling": "text",
          "property": "text"
        }
      ],
      "totalElements": 1,
      "totalPages": 1
    }
    POST /itcare/storage/glusterfs HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/vnd.cegedim-it.v1+json
    Accept: */*
    Content-Length: 1937
    
    {
      "admPassword": "text",
      "area": "text",
      "az": "text",
      "backupEnabled": true,
      "cloudId": 1,
      "dbBackupPolicyId": "text",
      "diskSize": 1,
      "name": "text",
      "networkId": 1,
      "noBackupProdReason": "text",
      "noMonitoringProdReason": "text",
      "noReplicationProdReason": "text",
      "nodeSizing": "text",
      "product": {
        "BACKUP_POLICY_TYPE": "text",
        "CATEGORY_WEIGHT": 1,
        "CODE": "text",
        "COMMENT": "text",
        "DOCUMENTATION": "text",
        "EDITION": "text",
        "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
        "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "ENFORCED_AUTH_DOMAIN": true,
        "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "FAMILY_WEIGHT": 1,
        "ID": "text",
        "IMG": "text",
        "LABEL": "text",
        "NAME": "text",
        "PLATFORM": "text",
        "PRODUCT_CATEGORY": "text",
        "PRODUCT_DISPLAYABLE": true,
        "PRODUCT_IS_DISABLED": true,
        "PRODUCT_IS_IN_BETA_MODE": true,
        "PRODUCT_MAGIC_FORMS": "text",
        "PRODUCT_SKIP_TECHNOLOGY": true,
        "PRODUCT_TECHNOLOGY": "text",
        "PRODUCT_VERSION": "text",
        "RELEASED_AT": "2025-12-08T11:38:50.942Z",
        "STATUS": "text",
        "SUPPORT_FORM_AVAILABLE": true,
        "SUPPORT_FORM_ID": "text",
        "SUPPORT_PHASE": "text",
        "TECH_FORMONLY": true,
        "TECH_WEIGHT": 1,
        "TYPE": "text",
        "VERSION": "text",
        "configuration": {
          "topologies": [
            {
              "alwaysOn": "text",
              "cluster": "text",
              "galera": "text",
              "ha": "text",
              "replica": "text",
              "sentinel": "text",
              "single": "text",
              "standalone": "text"
            }
          ]
        },
        "properties": [
          {
            "defaultValue": "text",
            "description": "text",
            "displayed": true,
            "editable": true,
            "key": "text",
            "mandatory": true,
            "value": "text"
          }
        ],
        "resources": [
          {
            "available": true,
            "id": "text",
            "optionDescrEn": "text",
            "optionDescrFr": "text",
            "optionName": "text",
            "optionOrder": "text",
            "ram": 1,
            "vcpus": 1
          }
        ],
        "storage": {
          "maxVolumes": 1,
          "minVolumeSize": 1,
          "totalSizeAuthorized": 1,
          "totalVolumesSize": 1,
          "volumes": [
            {
              "description": "text",
              "editable": 1,
              "exclFromSnap": 1,
              "id": "data",
              "mandatory": true,
              "max": 1,
              "min": 1,
              "order": 1,
              "sizeGb": 1,
              "system": true
            }
          ]
        }
      },
      "region": "text",
      "regulation": "text",
      "replicationEnabled": true,
      "serverBackupPolicyId": "text",
      "serviceId": 1,
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "user_name": "text"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    PATCH /itcare/storage/glusterfs/{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-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    [
      {
        "certificateName": "text",
        "commonName": "text",
        "description": "text",
        "expirationDate": "text",
        "id": 1
      }
    ]
    [
      {
        "certificat": "text",
        "description": "text",
        "id": 1,
        "name": "text",
        "serverName": "text",
        "sniDefault": true
      }
    ]
    {
      "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"
    }
    [
      {
        "availabilityZones": [
          {
            "availabilityZoneGroup": "text",
            "datacenterId": "text",
            "defaultZone": true,
            "id": "text",
            "location": "text",
            "routable": true
          }
        ],
        "defaultArea": true,
        "id": "text",
        "location": "text",
        "regulation": "text"
      }
    ]
    [
      {
        "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
      }
    ]
    [
      {
        "description": "text",
        "id": "text",
        "isDefault": true
      }
    ]
    [
      {
        "comment": "text",
        "description": "text",
        "id": 1,
        "name": "text"
      }
    ]
    [
      {
        "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
      }
    ]
    [
      {
        "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
      }
    ]
    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: 1975
    
    {
      "admPassword": "text",
      "area": "text",
      "az": "text",
      "backupEnabled": true,
      "brokerCount": 1,
      "cloudId": 1,
      "dbBackupPolicyId": "text",
      "diskSize": 1,
      "name": "text",
      "networkId": 1,
      "noBackupProdReason": "text",
      "noMonitoringProdReason": "text",
      "noReplicationProdReason": "text",
      "nodePrefix": "text",
      "nodeSizing": "text",
      "product": {
        "BACKUP_POLICY_TYPE": "text",
        "CATEGORY_WEIGHT": 1,
        "CODE": "text",
        "COMMENT": "text",
        "DOCUMENTATION": "text",
        "EDITION": "text",
        "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
        "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "ENFORCED_AUTH_DOMAIN": true,
        "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "FAMILY_WEIGHT": 1,
        "ID": "text",
        "IMG": "text",
        "LABEL": "text",
        "NAME": "text",
        "PLATFORM": "text",
        "PRODUCT_CATEGORY": "text",
        "PRODUCT_DISPLAYABLE": true,
        "PRODUCT_IS_DISABLED": true,
        "PRODUCT_IS_IN_BETA_MODE": true,
        "PRODUCT_MAGIC_FORMS": "text",
        "PRODUCT_SKIP_TECHNOLOGY": true,
        "PRODUCT_TECHNOLOGY": "text",
        "PRODUCT_VERSION": "text",
        "RELEASED_AT": "2025-12-08T11:38:50.942Z",
        "STATUS": "text",
        "SUPPORT_FORM_AVAILABLE": true,
        "SUPPORT_FORM_ID": "text",
        "SUPPORT_PHASE": "text",
        "TECH_FORMONLY": true,
        "TECH_WEIGHT": 1,
        "TYPE": "text",
        "VERSION": "text",
        "configuration": {
          "topologies": [
            {
              "alwaysOn": "text",
              "cluster": "text",
              "galera": "text",
              "ha": "text",
              "replica": "text",
              "sentinel": "text",
              "single": "text",
              "standalone": "text"
            }
          ]
        },
        "properties": [
          {
            "defaultValue": "text",
            "description": "text",
            "displayed": true,
            "editable": true,
            "key": "text",
            "mandatory": true,
            "value": "text"
          }
        ],
        "resources": [
          {
            "available": true,
            "id": "text",
            "optionDescrEn": "text",
            "optionDescrFr": "text",
            "optionName": "text",
            "optionOrder": "text",
            "ram": 1,
            "vcpus": 1
          }
        ],
        "storage": {
          "maxVolumes": 1,
          "minVolumeSize": 1,
          "totalSizeAuthorized": 1,
          "totalVolumesSize": 1,
          "volumes": [
            {
              "description": "text",
              "editable": 1,
              "exclFromSnap": 1,
              "id": "data",
              "mandatory": true,
              "max": 1,
              "min": 1,
              "order": 1,
              "sizeGb": 1,
              "system": true
            }
          ]
        }
      },
      "productCode": "text",
      "region": "text",
      "regulation": "text",
      "replicationEnabled": true,
      "serverBackupPolicyId": "text",
      "serviceId": 1,
      "supportLevel": "NO_MONITORING_NO_SUPPORT"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    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-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "ANY_ADDITIONAL_PROPERTY": [
        {
          "availableInAZ": [
            "text"
          ],
          "cloudId": "text",
          "cloudName": "text",
          "default": true,
          "durationInHours": 1,
          "frequencies": {},
          "id": 1,
          "label": "text",
          "name": "text",
          "policyId": "text",
          "replication": true,
          "scope": "text",
          "startTime": "text",
          "timezone": "text",
          "type": "text"
        }
      ]
    }
    [
      {}
    ]
    {
      "content": [
        {
          "agOptions": {
            "agListener": "text",
            "agListenerIp": "text",
            "agName": "text",
            "agWitness": "text"
          },
          "allowMonitoringDisplay": true,
          "area": {
            "availabilityZones": [
              {
                "availabilityZoneGroup": "text",
                "datacenterId": "text",
                "defaultZone": true,
                "id": "text",
                "location": "text",
                "routable": true
              }
            ],
            "defaultArea": true,
            "id": "text",
            "location": "text",
            "regulation": "text"
          },
          "availabilityZone": {
            "availabilityZoneGroup": "text",
            "datacenterId": "text",
            "defaultZone": true,
            "id": "text",
            "location": "text",
            "routable": true
          },
          "backupPolicyDetails": {
            "backups": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "id": 1,
                "type": "text"
              }
            ],
            "policies": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "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",
          "configParameters": {
            "knowledgeBaseNumber": "text",
            "releaseDate": "text",
            "servicePack": "text",
            "update": "text",
            "version": "text"
          },
          "cpu": 1,
          "creationTime": "text",
          "creationUser": "text",
          "endOfSalesAt": "2025-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "family": "text",
          "id": 1,
          "internalResourceId": 1,
          "internalType": "text",
          "ipAddress": "text",
          "label": "text",
          "labelArea": "text",
          "labelAvailabilityZone": "text",
          "labelDataCenter": "text",
          "labelRegion": "text",
          "lastSQLServerVersion": "text",
          "metrologyUrl": "text",
          "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
          },
          "nodeCount": 1,
          "patchParty": {
            "excluded": true,
            "excludedBy": "text",
            "exclusionDate": "2025-12-08T11:38:50.942Z",
            "exclusionReason": "text",
            "id": 1,
            "name": "text",
            "patchDate": "2025-12-08T11:38:50.942Z",
            "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-12-08T11:38:50.942Z",
          "replicationStatus": true,
          "resourceType": "text",
          "serviceId": 1,
          "serviceKey": "text",
          "serviceName": "text",
          "sizing": "text",
          "status": "text",
          "supportLevel": "NO_MONITORING_NO_SUPPORT",
          "supportPhase": "text",
          "technology": "text",
          "topology": "text",
          "type": "text",
          "url": "text",
          "version": "text"
        }
      ],
      "empty": true,
      "first": true,
      "last": true,
      "number": 1,
      "numberOfElements": 1,
      "pageable": {
        "offset": 1,
        "pageNumber": 1,
        "pageSize": 1,
        "paged": true,
        "sort": [
          {
            "ascending": true,
            "direction": "text",
            "ignoreCase": true,
            "nullHandling": "text",
            "property": "text"
          }
        ],
        "unpaged": true
      },
      "size": 1,
      "sort": [
        {
          "ascending": true,
          "direction": "text",
          "ignoreCase": true,
          "nullHandling": "text",
          "property": "text"
        }
      ],
      "totalElements": 1,
      "totalPages": 1
    }
    POST /itcare/databases/sqlserver HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/vnd.cegedim-it.v1+json
    Accept: */*
    Content-Length: 2419
    
    {
      "alwaysOn": true,
      "area": "text",
      "asCollaction": "text",
      "asServerModeEnt": "text",
      "asServerModeStd": "text",
      "authenticationDomainId": "text",
      "availabilityMode": "text",
      "az": "text",
      "backupEnabled": true,
      "cloudId": 1,
      "collation": "text",
      "customerPassword": "text",
      "dbBackupPolicyId": "text",
      "failoverMode": "text",
      "fullText": true,
      "listenerName": "text",
      "name": "text",
      "networkId": 1,
      "noBackupProdReason": "text",
      "noMonitoringProdReason": "text",
      "noReplicationProdReason": "text",
      "nodeCount": 1,
      "nodeSizing": "text",
      "prefix": "text",
      "product": {
        "BACKUP_POLICY_TYPE": "text",
        "CATEGORY_WEIGHT": 1,
        "CODE": "text",
        "COMMENT": "text",
        "DOCUMENTATION": "text",
        "EDITION": "text",
        "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
        "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "ENFORCED_AUTH_DOMAIN": true,
        "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "FAMILY_WEIGHT": 1,
        "ID": "text",
        "IMG": "text",
        "LABEL": "text",
        "NAME": "text",
        "PLATFORM": "text",
        "PRODUCT_CATEGORY": "text",
        "PRODUCT_DISPLAYABLE": true,
        "PRODUCT_IS_DISABLED": true,
        "PRODUCT_IS_IN_BETA_MODE": true,
        "PRODUCT_MAGIC_FORMS": "text",
        "PRODUCT_SKIP_TECHNOLOGY": true,
        "PRODUCT_TECHNOLOGY": "text",
        "PRODUCT_VERSION": "text",
        "RELEASED_AT": "2025-12-08T11:38:50.942Z",
        "STATUS": "text",
        "SUPPORT_FORM_AVAILABLE": true,
        "SUPPORT_FORM_ID": "text",
        "SUPPORT_PHASE": "text",
        "TECH_FORMONLY": true,
        "TECH_WEIGHT": 1,
        "TYPE": "text",
        "VERSION": "text",
        "configuration": {
          "topologies": [
            {
              "alwaysOn": "text",
              "cluster": "text",
              "galera": "text",
              "ha": "text",
              "replica": "text",
              "sentinel": "text",
              "single": "text",
              "standalone": "text"
            }
          ]
        },
        "properties": [
          {
            "defaultValue": "text",
            "description": "text",
            "displayed": true,
            "editable": true,
            "key": "text",
            "mandatory": true,
            "value": "text"
          }
        ],
        "resources": [
          {
            "available": true,
            "id": "text",
            "optionDescrEn": "text",
            "optionDescrFr": "text",
            "optionName": "text",
            "optionOrder": "text",
            "ram": 1,
            "vcpus": 1
          }
        ],
        "storage": {
          "maxVolumes": 1,
          "minVolumeSize": 1,
          "totalSizeAuthorized": 1,
          "totalVolumesSize": 1,
          "volumes": [
            {
              "description": "text",
              "editable": 1,
              "exclFromSnap": 1,
              "id": "data",
              "mandatory": true,
              "max": 1,
              "min": 1,
              "order": 1,
              "sizeGb": 1,
              "system": true
            }
          ]
        }
      },
      "productCode": "text",
      "readableSecondary": "text",
      "region": "text",
      "regulation": "text",
      "replicationEnabled": true,
      "serverBackupPolicyId": "text",
      "serviceId": 1,
      "specificRequest": "text",
      "ssas": true,
      "ssis": true,
      "ssrs": true,
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "volumes": [
        {
          "description": "text",
          "editable": 1,
          "exclFromSnap": 1,
          "id": "data",
          "mandatory": true,
          "max": 1,
          "min": 1,
          "order": 1,
          "sizeGb": 1,
          "system": true
        }
      ]
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    PATCH /itcare/databases/sqlserver/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/vnd.cegedim-it.v1+json
    Accept: */*
    Content-Length: 61
    
    {
      "operation": "text",
      "options": {
        "ANY_ADDITIONAL_PROPERTY": {}
      }
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    POST /itcare/message-brokers/rabbitmq HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/vnd.cegedim-it.v1+json
    Accept: */*
    Content-Length: 1991
    
    {
      "admPassword": "text",
      "area": "text",
      "az": "text",
      "backupEnabled": true,
      "brokerCount": 1,
      "cloudId": 1,
      "dbBackupPolicyId": "text",
      "diskSize": 1,
      "name": "text",
      "networkId": 1,
      "noBackupProdReason": "text",
      "noMonitoringProdReason": "text",
      "noReplicationProdReason": "text",
      "nodeSizing": "text",
      "product": {
        "BACKUP_POLICY_TYPE": "text",
        "CATEGORY_WEIGHT": 1,
        "CODE": "text",
        "COMMENT": "text",
        "DOCUMENTATION": "text",
        "EDITION": "text",
        "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
        "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "ENFORCED_AUTH_DOMAIN": true,
        "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "FAMILY_WEIGHT": 1,
        "ID": "text",
        "IMG": "text",
        "LABEL": "text",
        "NAME": "text",
        "PLATFORM": "text",
        "PRODUCT_CATEGORY": "text",
        "PRODUCT_DISPLAYABLE": true,
        "PRODUCT_IS_DISABLED": true,
        "PRODUCT_IS_IN_BETA_MODE": true,
        "PRODUCT_MAGIC_FORMS": "text",
        "PRODUCT_SKIP_TECHNOLOGY": true,
        "PRODUCT_TECHNOLOGY": "text",
        "PRODUCT_VERSION": "text",
        "RELEASED_AT": "2025-12-08T11:38:50.942Z",
        "STATUS": "text",
        "SUPPORT_FORM_AVAILABLE": true,
        "SUPPORT_FORM_ID": "text",
        "SUPPORT_PHASE": "text",
        "TECH_FORMONLY": true,
        "TECH_WEIGHT": 1,
        "TYPE": "text",
        "VERSION": "text",
        "configuration": {
          "topologies": [
            {
              "alwaysOn": "text",
              "cluster": "text",
              "galera": "text",
              "ha": "text",
              "replica": "text",
              "sentinel": "text",
              "single": "text",
              "standalone": "text"
            }
          ]
        },
        "properties": [
          {
            "defaultValue": "text",
            "description": "text",
            "displayed": true,
            "editable": true,
            "key": "text",
            "mandatory": true,
            "value": "text"
          }
        ],
        "resources": [
          {
            "available": true,
            "id": "text",
            "optionDescrEn": "text",
            "optionDescrFr": "text",
            "optionName": "text",
            "optionOrder": "text",
            "ram": 1,
            "vcpus": 1
          }
        ],
        "storage": {
          "maxVolumes": 1,
          "minVolumeSize": 1,
          "totalSizeAuthorized": 1,
          "totalVolumesSize": 1,
          "volumes": [
            {
              "description": "text",
              "editable": 1,
              "exclFromSnap": 1,
              "id": "data",
              "mandatory": true,
              "max": 1,
              "min": 1,
              "order": 1,
              "sizeGb": 1,
              "system": true
            }
          ]
        }
      },
      "productCode": "text",
      "region": "text",
      "regulation": "text",
      "replicationEnabled": true,
      "serverBackupPolicyId": "text",
      "serviceId": 1,
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "tlsEnabled": true,
      "vmPrefix": "text"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    PATCH /itcare/message-brokers/rabbitmq/{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-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    GET /itcare/message-brokers HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "content": [
        {
          "backupPolicyDetails": {
            "backups": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "id": 1,
                "type": "text"
              }
            ],
            "policies": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "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-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "family": "text",
          "id": 1,
          "internalResourceId": 1,
          "internalType": "text",
          "ipAddress": "text",
          "label": "text",
          "labelArea": "text",
          "labelAvailabilityZone": "text",
          "labelDataCenter": "text",
          "labelRegion": "text",
          "metrologyUrl": "text",
          "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
          },
          "nodeCount": 1,
          "patchParty": {
            "excluded": true,
            "excludedBy": "text",
            "exclusionDate": "2025-12-08T11:38:50.942Z",
            "exclusionReason": "text",
            "id": 1,
            "name": "text",
            "patchDate": "2025-12-08T11:38:50.942Z",
            "patchGroup": "text",
            "patchTag": "text"
          },
          "path": "text",
          "prettyLabel": "text",
          "productCode": "text",
          "productName": "text",
          "productVersion": "text",
          "ram": 1,
          "releasedAt": "2025-12-08T11:38:50.942Z",
          "replicationStatus": true,
          "resourceType": "text",
          "serviceId": 1,
          "serviceKey": "text",
          "serviceName": "text",
          "sizing": "text",
          "status": "text",
          "supportLevel": "NO_MONITORING_NO_SUPPORT",
          "supportPhase": "text",
          "technology": "text",
          "topology": "text",
          "type": "text",
          "version": "text"
        }
      ],
      "empty": true,
      "first": true,
      "last": true,
      "number": 1,
      "numberOfElements": 1,
      "pageable": {
        "offset": 1,
        "pageNumber": 1,
        "pageSize": 1,
        "paged": true,
        "sort": [
          {
            "ascending": true,
            "direction": "text",
            "ignoreCase": true,
            "nullHandling": "text",
            "property": "text"
          }
        ],
        "unpaged": true
      },
      "size": 1,
      "sort": [
        {
          "ascending": true,
          "direction": "text",
          "ignoreCase": true,
          "nullHandling": "text",
          "property": "text"
        }
      ],
      "totalElements": 1,
      "totalPages": 1
    }
    {
      "BACKUP_POLICY_TYPE": "text",
      "CATEGORY_WEIGHT": 1,
      "CODE": "text",
      "COMMENT": "text",
      "DOCUMENTATION": "text",
      "EDITION": "text",
      "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
      "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
      "ENFORCED_AUTH_DOMAIN": true,
      "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
      "FAMILY_WEIGHT": 1,
      "ID": "text",
      "IMG": "text",
      "LABEL": "text",
      "NAME": "text",
      "PLATFORM": "text",
      "PRODUCT_CATEGORY": "text",
      "PRODUCT_DISPLAYABLE": true,
      "PRODUCT_IS_DISABLED": true,
      "PRODUCT_IS_IN_BETA_MODE": true,
      "PRODUCT_MAGIC_FORMS": "text",
      "PRODUCT_SKIP_TECHNOLOGY": true,
      "PRODUCT_TECHNOLOGY": "text",
      "PRODUCT_VERSION": "text",
      "RELEASED_AT": "2025-12-08T11:38:50.942Z",
      "STATUS": "text",
      "SUPPORT_FORM_AVAILABLE": true,
      "SUPPORT_FORM_ID": "text",
      "SUPPORT_PHASE": "text",
      "TECH_FORMONLY": true,
      "TECH_WEIGHT": 1,
      "TYPE": "text",
      "VERSION": "text",
      "configuration": {
        "topologies": [
          {
            "alwaysOn": "text",
            "cluster": "text",
            "galera": "text",
            "ha": "text",
            "replica": "text",
            "sentinel": "text",
            "single": "text",
            "standalone": "text"
          }
        ]
      },
      "properties": [
        {
          "defaultValue": "text",
          "description": "text",
          "displayed": true,
          "editable": true,
          "key": "text",
          "mandatory": true,
          "value": "text"
        }
      ],
      "resources": [
        {
          "available": true,
          "id": "text",
          "optionDescrEn": "text",
          "optionDescrFr": "text",
          "optionName": "text",
          "optionOrder": "text",
          "ram": 1,
          "vcpus": 1
        }
      ],
      "storage": {
        "maxVolumes": 1,
        "minVolumeSize": 1,
        "totalSizeAuthorized": 1,
        "totalVolumesSize": 1,
        "volumes": [
          {
            "description": "text",
            "editable": 1,
            "exclFromSnap": 1,
            "id": "data",
            "mandatory": true,
            "max": 1,
            "min": 1,
            "order": 1,
            "sizeGb": 1,
            "system": true
          }
        ]
      }
    }
    {
      "content": [
        {
          "backupPolicyDetails": {
            "backups": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "id": 1,
                "type": "text"
              }
            ],
            "policies": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "durationInHours": 1,
                "frequencies": {},
                "label": "text",
                "name": "text",
                "policyId": "text",
                "replication": true,
                "scope": "text",
                "startTime": "text",
                "timezone": "text",
                "type": "text"
              }
            ]
          },
          "category": "text",
          "cloudName": "text",
          "comment": "text",
          "creationTime": "text",
          "creationUser": "text",
          "description": "text",
          "endOfSalesAt": "2025-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "family": "text",
          "id": 1,
          "internalResourceId": 1,
          "ipAddress": "text",
          "label": "text",
          "labelArea": "text",
          "labelAvailabilityZone": "text",
          "labelDataCenter": "text",
          "labelRegion": "text",
          "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
          },
          "patchParty": {
            "excluded": true,
            "excludedBy": "text",
            "exclusionDate": "2025-12-08T11:38:50.942Z",
            "exclusionReason": "text",
            "id": 1,
            "name": "text",
            "patchDate": "2025-12-08T11:38:50.942Z",
            "patchGroup": "text",
            "patchTag": "text"
          },
          "path": "text",
          "platform": "text",
          "prettyLabel": "text",
          "productName": "text",
          "releasedAt": "2025-12-08T11:38:50.942Z",
          "resourceType": "text",
          "securityProfile": {
            "comment": "text",
            "description": "text",
            "enforcement": "text",
            "id": "text",
            "name": "text",
            "profile": "text",
            "template": "text",
            "whiteList": [
              {
                "comment": "text",
                "ip": "text",
                "url": "text"
              }
            ]
          },
          "serviceId": 1,
          "serviceKey": "text",
          "serviceName": "text",
          "status": "ACTIVE,INACTIVE,PREPARATION",
          "supportLevel": "NO_MONITORING_NO_SUPPORT",
          "supportPhase": "text",
          "tags": [
            {
              "tagKey": "text",
              "tagValue": "text"
            }
          ],
          "technology": "text",
          "type": "text"
        }
      ],
      "empty": true,
      "first": true,
      "last": true,
      "number": 1,
      "numberOfElements": 1,
      "pageable": {
        "offset": 1,
        "pageNumber": 1,
        "pageSize": 1,
        "paged": true,
        "sort": [
          {
            "ascending": true,
            "direction": "text",
            "ignoreCase": true,
            "nullHandling": "text",
            "property": "text"
          }
        ],
        "unpaged": true
      },
      "size": 1,
      "sort": [
        {
          "ascending": true,
          "direction": "text",
          "ignoreCase": true,
          "nullHandling": "text",
          "property": "text"
        }
      ],
      "totalElements": 1,
      "totalPages": 1
    }
    [
      {
        "category": "text",
        "comment": "text",
        "endOfSalesAt": "2025-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "id": "text",
        "img": "text",
        "label": "text",
        "name": "text",
        "rawSupportPhase": "STANDARD,END_OF_SALES,EXTENDED,END_OF_SUPPORT",
        "releasedAt": "2025-12-08T11:38:50.942Z",
        "supportPhase": "STANDARD",
        "technology": "text"
      }
    ]
    GET /itcare/compute/resources HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "content": [
        {
          "backupPolicyDetails": {
            "backups": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "id": 1,
                "type": "text"
              }
            ],
            "policies": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "durationInHours": 1,
                "frequencies": {},
                "label": "text",
                "name": "text",
                "policyId": "text",
                "replication": true,
                "scope": "text",
                "startTime": "text",
                "timezone": "text",
                "type": "text"
              }
            ]
          },
          "category": "text",
          "cloudName": "text",
          "comment": "text",
          "creationTime": "text",
          "creationUser": "text",
          "description": "text",
          "endOfSalesAt": "2025-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "family": "text",
          "id": 1,
          "internalResourceId": 1,
          "ipAddress": "text",
          "label": "text",
          "labelArea": "text",
          "labelAvailabilityZone": "text",
          "labelDataCenter": "text",
          "labelRegion": "text",
          "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
          },
          "patchParty": {
            "excluded": true,
            "excludedBy": "text",
            "exclusionDate": "2025-12-08T11:38:50.942Z",
            "exclusionReason": "text",
            "id": 1,
            "name": "text",
            "patchDate": "2025-12-08T11:38:50.942Z",
            "patchGroup": "text",
            "patchTag": "text"
          },
          "path": "text",
          "platform": "text",
          "prettyLabel": "text",
          "productName": "text",
          "releasedAt": "2025-12-08T11:38:50.942Z",
          "resourceType": "text",
          "securityProfile": {
            "comment": "text",
            "description": "text",
            "enforcement": "text",
            "id": "text",
            "name": "text",
            "profile": "text",
            "template": "text",
            "whiteList": [
              {
                "comment": "text",
                "ip": "text",
                "url": "text"
              }
            ]
          },
          "serviceId": 1,
          "serviceKey": "text",
          "serviceName": "text",
          "status": "ACTIVE,INACTIVE,PREPARATION",
          "supportLevel": "NO_MONITORING_NO_SUPPORT",
          "supportPhase": "text",
          "tags": [
            {
              "tagKey": "text",
              "tagValue": "text"
            }
          ],
          "technology": "text",
          "type": "text"
        }
      ],
      "empty": true,
      "first": true,
      "last": true,
      "number": 1,
      "numberOfElements": 1,
      "pageable": {
        "offset": 1,
        "pageNumber": 1,
        "pageSize": 1,
        "paged": true,
        "sort": [
          {
            "ascending": true,
            "direction": "text",
            "ignoreCase": true,
            "nullHandling": "text",
            "property": "text"
          }
        ],
        "unpaged": true
      },
      "size": 1,
      "sort": [
        {
          "ascending": true,
          "direction": "text",
          "ignoreCase": true,
          "nullHandling": "text",
          "property": "text"
        }
      ],
      "totalElements": 1,
      "totalPages": 1
    }
    {
      "backupGb": 1,
      "coresCount": 1,
      "count": 1,
      "instancesCount": 1,
      "phasesDistribution": {
        "ANY_ADDITIONAL_PROPERTY": 1
      },
      "ramGb": 1,
      "score": 1,
      "servicesCount": 1,
      "storageGb": 1
    }
    GET /itcare/compute/resources/{id} HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "backupPolicyDetails": {
        "backups": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-12-08T11:38:50.942Z",
            "backupSize": 1,
            "durationInHours": 1,
            "frequencies": {},
            "label": "text",
            "name": "text",
            "policyId": "text",
            "replication": true,
            "scope": "text",
            "startTime": "text",
            "timezone": "text",
            "type": "text"
          }
        ]
      },
      "category": "text",
      "cloudName": "text",
      "comment": "text",
      "creationTime": "text",
      "creationUser": "text",
      "description": "text",
      "endOfSalesAt": "2025-12-08T11:38:50.942Z",
      "endOfSupportAt": "2025-12-08T11:38:50.942Z",
      "environment": "text",
      "extendedSupportAt": "2025-12-08T11:38:50.942Z",
      "family": "text",
      "id": 1,
      "internalResourceId": 1,
      "ipAddress": "text",
      "label": "text",
      "labelArea": "text",
      "labelAvailabilityZone": "text",
      "labelDataCenter": "text",
      "labelRegion": "text",
      "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
      },
      "patchParty": {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-12-08T11:38:50.942Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-12-08T11:38:50.942Z",
        "patchGroup": "text",
        "patchTag": "text"
      },
      "path": "text",
      "platform": "text",
      "prettyLabel": "text",
      "productName": "text",
      "releasedAt": "2025-12-08T11:38:50.942Z",
      "resourceType": "text",
      "securityProfile": {
        "comment": "text",
        "description": "text",
        "enforcement": "text",
        "id": "text",
        "name": "text",
        "profile": "text",
        "template": "text",
        "whiteList": [
          {
            "comment": "text",
            "ip": "text",
            "url": "text"
          }
        ]
      },
      "serviceId": 1,
      "serviceKey": "text",
      "serviceName": "text",
      "status": "ACTIVE,INACTIVE,PREPARATION",
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "supportPhase": "text",
      "tags": [
        {
          "tagKey": "text",
          "tagValue": "text"
        }
      ],
      "technology": "text",
      "type": "text"
    }
    [
      {
        "fqdn": "text",
        "type": "text",
        "value": "text",
        "zone": "text"
      }
    ]
    {
      "content": [
        {
          "completedAt": "2025-12-08T11:38:50.942Z",
          "family": "text",
          "id": 1,
          "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
          "message": "text",
          "process": "text",
          "resourceName": "text",
          "resourceType": "text",
          "status": "SUCCESS,IN_PROGRESS,ERROR",
          "submittedAt": "2025-12-08T11:38:50.942Z",
          "submittedBy": "text"
        }
      ],
      "empty": true,
      "first": true,
      "last": true,
      "number": 1,
      "numberOfElements": 1,
      "pageable": {
        "offset": 1,
        "pageNumber": 1,
        "pageSize": 1,
        "paged": true,
        "sort": [
          {
            "ascending": true,
            "direction": "text",
            "ignoreCase": true,
            "nullHandling": "text",
            "property": "text"
          }
        ],
        "unpaged": true
      },
      "size": 1,
      "sort": [
        {
          "ascending": true,
          "direction": "text",
          "ignoreCase": true,
          "nullHandling": "text",
          "property": "text"
        }
      ],
      "totalElements": 1,
      "totalPages": 1
    }
    [
      {
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "durationInHours": 1,
              "frequencies": {},
              "label": "text",
              "name": "text",
              "policyId": "text",
              "replication": true,
              "scope": "text",
              "startTime": "text",
              "timezone": "text",
              "type": "text"
            }
          ]
        },
        "backupStatus": true,
        "botDefenseEnabled": true,
        "botDefenseUpdating": true,
        "category": "text",
        "certificate": {
          "certificateName": "text",
          "commonName": "text",
          "description": "text",
          "expirationDate": "text",
          "id": 1
        },
        "cloudId": 1,
        "cloudName": "text",
        "comment": "text",
        "creationTime": "text",
        "creationUser": "text",
        "defaultPersistence": "text",
        "endOfSalesAt": "2025-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "fallbackPersistence": "text",
        "family": "text",
        "healthChecks": [
          {
            "comment": "text",
            "description": "text",
            "id": 1,
            "name": "text"
          }
        ],
        "id": 1,
        "internalResourceId": 1,
        "internalType": "text",
        "ipAddress": "text",
        "irules": [
          {
            "description": "text",
            "name": "text"
          }
        ],
        "label": "text",
        "labelArea": "text",
        "labelAvailabilityZone": "text",
        "labelDataCenter": "text",
        "labelRegion": "text",
        "loadBalancingMode": "text",
        "members": [
          {
            "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-12-08T11:38:50.942Z",
              "size": 1,
              "type": "text"
            },
            "backupPolicyDetails": {
              "backups": [
                {
                  "backupLastDate": "2025-12-08T11:38:50.942Z",
                  "backupSize": 1,
                  "id": 1,
                  "type": "text"
                }
              ],
              "policies": [
                {
                  "backupLastDate": "2025-12-08T11:38:50.942Z",
                  "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-12-08T11:38:50.942Z",
            "endOfSupportAt": "2025-12-08T11:38:50.942Z",
            "environment": "text",
            "extendedSupportAt": "2025-12-08T11:38:50.942Z",
            "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,
                "name": "text",
                "serviceId": 1,
                "status": "text"
              }
            ],
            "metrologyUrl": "text",
            "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-12-08T11:38:50.942Z",
              "exclusionReason": "text",
              "id": 1,
              "name": "text",
              "patchDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
            "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-12-08T11:38:50.942Z",
              "createdBy": "text",
              "description": "text",
              "expiresAt": "2025-12-08T11:38:50.942Z",
              "id": "text",
              "label": "text",
              "recoveredAt": "2025-12-08T11:38:50.942Z",
              "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"
          }
        ],
        "metrologyUrl": "text",
        "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
        },
        "nodeCount": 1,
        "parentResource": {
          "backupPolicyDetails": {
            "backups": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "id": 1,
                "type": "text"
              }
            ],
            "policies": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "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",
          "creationTime": "text",
          "creationUser": "text",
          "endOfSalesAt": "2025-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "family": "text",
          "id": 1,
          "internalResourceId": 1,
          "internalType": "text",
          "ipAddress": "text",
          "label": "text",
          "labelArea": "text",
          "labelAvailabilityZone": "text",
          "labelDataCenter": "text",
          "labelRegion": "text",
          "metrologyUrl": "text",
          "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
          },
          "patchParty": {
            "excluded": true,
            "excludedBy": "text",
            "exclusionDate": "2025-12-08T11:38:50.942Z",
            "exclusionReason": "text",
            "id": 1,
            "name": "text",
            "patchDate": "2025-12-08T11:38:50.942Z",
            "patchGroup": "text",
            "patchTag": "text"
          },
          "path": "text",
          "prettyLabel": "text",
          "productCode": "text",
          "productName": "text",
          "productVersion": "text",
          "releasedAt": "2025-12-08T11:38:50.942Z",
          "replicationStatus": true,
          "resourceType": "text",
          "serviceId": 1,
          "serviceKey": "text",
          "serviceName": "text",
          "status": "text",
          "supportLevel": "NO_MONITORING_NO_SUPPORT",
          "supportPhase": "text",
          "technology": "text",
          "type": "text"
        },
        "patchParty": {
          "excluded": true,
          "excludedBy": "text",
          "exclusionDate": "2025-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "patchGroup": "text",
          "patchTag": "text"
        },
        "path": "text",
        "prettyLabel": "text",
        "productCode": "text",
        "productName": "text",
        "productVersion": "text",
        "protocols": [
          {
            "comment": "text",
            "isCertificateRequired": true,
            "name": "text",
            "order": 1,
            "persistence": true,
            "port": 1,
            "profileNoPersistenceNoRedirect": "text",
            "profileNoPersistenceOnly": "text",
            "profileNoPersistenceRedirect": "text",
            "profilePersistenceNoRedirect": "text",
            "profilePersistenceOnly": "text",
            "profilePersistenceRedirect": "text",
            "protocol": "text",
            "redirectToHttps": true
          }
        ],
        "releasedAt": "2025-12-08T11:38:50.942Z",
        "replicationStatus": true,
        "resourceType": "text",
        "securityProfile": {
          "comment": "text",
          "description": "text",
          "enforcement": "text",
          "id": "text",
          "name": "text",
          "profile": "text",
          "template": "text",
          "whiteList": [
            {
              "comment": "text",
              "ip": "text",
              "url": "text"
            }
          ]
        },
        "serviceId": 1,
        "serviceKey": "text",
        "serviceName": "text",
        "snatAutomap": true,
        "status": "text",
        "supportLevel": "NO_MONITORING_NO_SUPPORT",
        "supportPhase": "text",
        "technology": "text",
        "type": "text",
        "urls": [
          {
            "comment": "text",
            "creationTime": "text",
            "creationUser": "text",
            "description": "text",
            "endOfSalesAt": "2025-12-08T11:38:50.942Z",
            "endOfSupportAt": "2025-12-08T11:38:50.942Z",
            "environment": "text",
            "extendedSupportAt": "2025-12-08T11:38:50.942Z",
            "id": 1,
            "monitoringMode": "text",
            "name": "text",
            "releasedAt": "2025-12-08T11:38:50.942Z",
            "serviceId": 1,
            "serviceKey": "text",
            "serviceName": "text",
            "specificChecks": [
              {
                "name": "text",
                "parameter": {
                  "authentification": {
                    "password": "text",
                    "user": "text"
                  },
                  "criticalContent": "text",
                  "criticalStatus": "text",
                  "expectedContent": "text",
                  "headers": [
                    {
                      "key": "text",
                      "value": "text"
                    }
                  ],
                  "method": "text",
                  "parameters": [
                    {
                      "key": "text",
                      "value": "text"
                    }
                  ],
                  "path": "text",
                  "port": 1,
                  "prefix": "text",
                  "protocol": "text",
                  "warningContent": "text"
                }
              }
            ],
            "status": "text",
            "supportLevel": "NO_MONITORING_NO_SUPPORT",
            "supportPhase": "text",
            "tags": [
              {
                "tagKey": "text",
                "tagValue": "text"
              }
            ],
            "type": "text"
          }
        ]
      }
    ]
    [
      {
        "tagKey": "text",
        "tagValue": "text"
      }
    ]
    [
      {
        "tagKey": "text",
        "tagValue": "text"
      }
    ]
    [
      {
        "tagKey": "text",
        "tagValue": "text"
      }
    ]
    {
      "az": [
        "text"
      ],
      "defaultPersistence": [
        "text"
      ],
      "fallbackPersistence": [
        "text"
      ],
      "iRules": [
        "text"
      ],
      "k8sRegions": [
        "text"
      ],
      "loadBalancingMode": [
        "text"
      ],
      "protocols": [
        "text"
      ],
      "topologies": [
        {
          "topology": "text",
          "type": "text"
        }
      ],
      "versions": [
        {
          "type": "text",
          "version": "text"
        }
      ]
    }
    {
      "content": [
        {
          "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
        }
      ],
      "empty": true,
      "first": true,
      "last": true,
      "number": 1,
      "numberOfElements": 1,
      "pageable": {
        "offset": 1,
        "pageNumber": 1,
        "pageSize": 1,
        "paged": true,
        "sort": [
          {
            "ascending": true,
            "direction": "text",
            "ignoreCase": true,
            "nullHandling": "text",
            "property": "text"
          }
        ],
        "unpaged": true
      },
      "size": 1,
      "sort": [
        {
          "ascending": true,
          "direction": "text",
          "ignoreCase": true,
          "nullHandling": "text",
          "property": "text"
        }
      ],
      "totalElements": 1,
      "totalPages": 1
    }
    [
      {
        "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
      }
    ]
    {
      "content": [
        {
          "actionsInProgress": [
            {
              "family": "text",
              "id": 1,
              "internalId": 1,
              "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
              "message": "text",
              "process": "text",
              "resourceName": "text",
              "resourceType": "text",
              "status": "SUCCESS,IN_PROGRESS,ERROR"
            }
          ],
          "availableActions": [
            {
              "available": true,
              "operation": "text",
              "unavailabilityCauses": [
                "text"
              ]
            }
          ],
          "backupPolicyDetails": {
            "backups": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "id": 1,
                "type": "text"
              }
            ],
            "policies": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "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",
          "creationTime": "text",
          "creationUser": "text",
          "endOfSalesAt": "2025-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "family": "text",
          "id": 1,
          "internalResourceId": 1,
          "internalType": "text",
          "ipAddress": "text",
          "label": "text",
          "labelArea": "text",
          "labelAvailabilityZone": "text",
          "labelDataCenter": "text",
          "labelRegion": "text",
          "metrologyUrl": "text",
          "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
          },
          "patchParty": {
            "excluded": true,
            "excludedBy": "text",
            "exclusionDate": "2025-12-08T11:38:50.942Z",
            "exclusionReason": "text",
            "id": 1,
            "name": "text",
            "patchDate": "2025-12-08T11:38:50.942Z",
            "patchGroup": "text",
            "patchTag": "text"
          },
          "path": "text",
          "prettyLabel": "text",
          "productCode": "text",
          "productName": "text",
          "productVersion": "text",
          "releasedAt": "2025-12-08T11:38:50.942Z",
          "replicationStatus": true,
          "resourceType": "text",
          "serviceId": 1,
          "serviceKey": "text",
          "serviceName": "text",
          "sizing": "text",
          "status": "text",
          "supportLevel": "NO_MONITORING_NO_SUPPORT",
          "supportPhase": "text",
          "technology": "text",
          "type": "text",
          "url": "text",
          "version": "text"
        }
      ],
      "empty": true,
      "first": true,
      "last": true,
      "number": 1,
      "numberOfElements": 1,
      "pageable": {
        "offset": 1,
        "pageNumber": 1,
        "pageSize": 1,
        "paged": true,
        "sort": [
          {
            "ascending": true,
            "direction": "text",
            "ignoreCase": true,
            "nullHandling": "text",
            "property": "text"
          }
        ],
        "unpaged": true
      },
      "size": 1,
      "sort": [
        {
          "ascending": true,
          "direction": "text",
          "ignoreCase": true,
          "nullHandling": "text",
          "property": "text"
        }
      ],
      "totalElements": 1,
      "totalPages": 1
    }
    POST /itcare/storage/overdrive HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/vnd.cegedim-it.v1+json
    Accept: */*
    Content-Length: 1880
    
    {
      "backupEnabled": true,
      "cloudId": 1,
      "dbBackupPolicyId": "text",
      "driveSiteUri": "text",
      "name": "text",
      "noBackupProdReason": "text",
      "noMonitoringProdReason": "text",
      "noReplicationProdReason": "text",
      "password": "text",
      "product": {
        "BACKUP_POLICY_TYPE": "text",
        "CATEGORY_WEIGHT": 1,
        "CODE": "text",
        "COMMENT": "text",
        "DOCUMENTATION": "text",
        "EDITION": "text",
        "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
        "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "ENFORCED_AUTH_DOMAIN": true,
        "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "FAMILY_WEIGHT": 1,
        "ID": "text",
        "IMG": "text",
        "LABEL": "text",
        "NAME": "text",
        "PLATFORM": "text",
        "PRODUCT_CATEGORY": "text",
        "PRODUCT_DISPLAYABLE": true,
        "PRODUCT_IS_DISABLED": true,
        "PRODUCT_IS_IN_BETA_MODE": true,
        "PRODUCT_MAGIC_FORMS": "text",
        "PRODUCT_SKIP_TECHNOLOGY": true,
        "PRODUCT_TECHNOLOGY": "text",
        "PRODUCT_VERSION": "text",
        "RELEASED_AT": "2025-12-08T11:38:50.942Z",
        "STATUS": "text",
        "SUPPORT_FORM_AVAILABLE": true,
        "SUPPORT_FORM_ID": "text",
        "SUPPORT_PHASE": "text",
        "TECH_FORMONLY": true,
        "TECH_WEIGHT": 1,
        "TYPE": "text",
        "VERSION": "text",
        "configuration": {
          "topologies": [
            {
              "alwaysOn": "text",
              "cluster": "text",
              "galera": "text",
              "ha": "text",
              "replica": "text",
              "sentinel": "text",
              "single": "text",
              "standalone": "text"
            }
          ]
        },
        "properties": [
          {
            "defaultValue": "text",
            "description": "text",
            "displayed": true,
            "editable": true,
            "key": "text",
            "mandatory": true,
            "value": "text"
          }
        ],
        "resources": [
          {
            "available": true,
            "id": "text",
            "optionDescrEn": "text",
            "optionDescrFr": "text",
            "optionName": "text",
            "optionOrder": "text",
            "ram": 1,
            "vcpus": 1
          }
        ],
        "storage": {
          "maxVolumes": 1,
          "minVolumeSize": 1,
          "totalSizeAuthorized": 1,
          "totalVolumesSize": 1,
          "volumes": [
            {
              "description": "text",
              "editable": 1,
              "exclFromSnap": 1,
              "id": "data",
              "mandatory": true,
              "max": 1,
              "min": 1,
              "order": 1,
              "sizeGb": 1,
              "system": true
            }
          ]
        }
      },
      "region": "text",
      "regulation": "text",
      "replicationEnabled": true,
      "serverBackupPolicyId": "text",
      "serviceId": 1,
      "sizing": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    GET /itcare/compute/instances HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "content": [
        {
          "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-12-08T11:38:50.942Z",
            "size": 1,
            "type": "text"
          },
          "backupPolicyDetails": {
            "backups": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "id": 1,
                "type": "text"
              }
            ],
            "policies": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "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-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "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,
              "name": "text",
              "serviceId": 1,
              "status": "text"
            }
          ],
          "metrologyUrl": "text",
          "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-12-08T11:38:50.942Z",
            "exclusionReason": "text",
            "id": 1,
            "name": "text",
            "patchDate": "2025-12-08T11:38:50.942Z",
            "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-12-08T11:38:50.942Z",
          "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-12-08T11:38:50.942Z",
            "createdBy": "text",
            "description": "text",
            "expiresAt": "2025-12-08T11:38:50.942Z",
            "id": "text",
            "label": "text",
            "recoveredAt": "2025-12-08T11:38:50.942Z",
            "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"
        }
      ],
      "empty": true,
      "first": true,
      "last": true,
      "number": 1,
      "numberOfElements": 1,
      "pageable": {
        "offset": 1,
        "pageNumber": 1,
        "pageSize": 1,
        "paged": true,
        "sort": [
          {
            "ascending": true,
            "direction": "text",
            "ignoreCase": true,
            "nullHandling": "text",
            "property": "text"
          }
        ],
        "unpaged": true
      },
      "size": 1,
      "sort": [
        {
          "ascending": true,
          "direction": "text",
          "ignoreCase": true,
          "nullHandling": "text",
          "property": "text"
        }
      ],
      "totalElements": 1,
      "totalPages": 1
    }
    POST /itcare/compute/instances HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/vnd.cegedim-it.v1+json
    Accept: */*
    Content-Length: 2338
    
    {
      "area": "text",
      "authenticationDomainId": "text",
      "availabilityZone": "text",
      "az": "text",
      "backupEnabled": true,
      "backupOffSiteEnabled": true,
      "cloudId": 1,
      "dbBackupPolicyId": "text",
      "name": "text",
      "networkId": 1,
      "noBackupProdReason": "text",
      "noMonitoringProdReason": "text",
      "noReplicationProdReason": "text",
      "platform": "text",
      "product": {
        "BACKUP_POLICY_TYPE": "text",
        "CATEGORY_WEIGHT": 1,
        "CODE": "text",
        "COMMENT": "text",
        "DOCUMENTATION": "text",
        "EDITION": "text",
        "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
        "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "ENFORCED_AUTH_DOMAIN": true,
        "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "FAMILY_WEIGHT": 1,
        "ID": "text",
        "IMG": "text",
        "LABEL": "text",
        "NAME": "text",
        "PLATFORM": "text",
        "PRODUCT_CATEGORY": "text",
        "PRODUCT_DISPLAYABLE": true,
        "PRODUCT_IS_DISABLED": true,
        "PRODUCT_IS_IN_BETA_MODE": true,
        "PRODUCT_MAGIC_FORMS": "text",
        "PRODUCT_SKIP_TECHNOLOGY": true,
        "PRODUCT_TECHNOLOGY": "text",
        "PRODUCT_VERSION": "text",
        "RELEASED_AT": "2025-12-08T11:38:50.942Z",
        "STATUS": "text",
        "SUPPORT_FORM_AVAILABLE": true,
        "SUPPORT_FORM_ID": "text",
        "SUPPORT_PHASE": "text",
        "TECH_FORMONLY": true,
        "TECH_WEIGHT": 1,
        "TYPE": "text",
        "VERSION": "text",
        "configuration": {
          "topologies": [
            {
              "alwaysOn": "text",
              "cluster": "text",
              "galera": "text",
              "ha": "text",
              "replica": "text",
              "sentinel": "text",
              "single": "text",
              "standalone": "text"
            }
          ]
        },
        "properties": [
          {
            "defaultValue": "text",
            "description": "text",
            "displayed": true,
            "editable": true,
            "key": "text",
            "mandatory": true,
            "value": "text"
          }
        ],
        "resources": [
          {
            "available": true,
            "id": "text",
            "optionDescrEn": "text",
            "optionDescrFr": "text",
            "optionName": "text",
            "optionOrder": "text",
            "ram": 1,
            "vcpus": 1
          }
        ],
        "storage": {
          "maxVolumes": 1,
          "minVolumeSize": 1,
          "totalSizeAuthorized": 1,
          "totalVolumesSize": 1,
          "volumes": [
            {
              "description": "text",
              "editable": 1,
              "exclFromSnap": 1,
              "id": "data",
              "mandatory": true,
              "max": 1,
              "min": 1,
              "order": 1,
              "sizeGb": 1,
              "system": true
            }
          ]
        }
      },
      "productCode": "text",
      "properties": [
        {
          "defaultValue": "text",
          "description": "text",
          "displayed": true,
          "editable": true,
          "key": "text",
          "mandatory": true,
          "value": "text"
        }
      ],
      "region": "text",
      "regulation": "text",
      "replicationEnabled": true,
      "resourceId": "text",
      "serverBackupPolicyId": "text",
      "serviceId": 1,
      "specificRequest": "text",
      "storagePool": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "volumes": [
        {
          "description": "text",
          "editable": 1,
          "exclFromSnap": 1,
          "id": "data",
          "mandatory": true,
          "max": 1,
          "min": 1,
          "order": 1,
          "sizeGb": 1,
          "system": true
        }
      ]
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    PATCH /itcare/compute/instances/{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-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    POST /itcare/databases/opensearch HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/vnd.cegedim-it.v1+json
    Accept: */*
    Content-Length: 1982
    
    {
      "admPassword": "text",
      "area": "text",
      "az": "text",
      "backupEnabled": true,
      "cloudId": 1,
      "dbBackupPolicyId": "text",
      "diskSize": 1,
      "instanceCount": "text",
      "name": "text",
      "networkId": 1,
      "noBackupProdReason": "text",
      "noMonitoringProdReason": "text",
      "noReplicationProdReason": "text",
      "nodePrefix": "text",
      "nodeSizing": "text",
      "product": {
        "BACKUP_POLICY_TYPE": "text",
        "CATEGORY_WEIGHT": 1,
        "CODE": "text",
        "COMMENT": "text",
        "DOCUMENTATION": "text",
        "EDITION": "text",
        "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
        "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "ENFORCED_AUTH_DOMAIN": true,
        "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "FAMILY_WEIGHT": 1,
        "ID": "text",
        "IMG": "text",
        "LABEL": "text",
        "NAME": "text",
        "PLATFORM": "text",
        "PRODUCT_CATEGORY": "text",
        "PRODUCT_DISPLAYABLE": true,
        "PRODUCT_IS_DISABLED": true,
        "PRODUCT_IS_IN_BETA_MODE": true,
        "PRODUCT_MAGIC_FORMS": "text",
        "PRODUCT_SKIP_TECHNOLOGY": true,
        "PRODUCT_TECHNOLOGY": "text",
        "PRODUCT_VERSION": "text",
        "RELEASED_AT": "2025-12-08T11:38:50.942Z",
        "STATUS": "text",
        "SUPPORT_FORM_AVAILABLE": true,
        "SUPPORT_FORM_ID": "text",
        "SUPPORT_PHASE": "text",
        "TECH_FORMONLY": true,
        "TECH_WEIGHT": 1,
        "TYPE": "text",
        "VERSION": "text",
        "configuration": {
          "topologies": [
            {
              "alwaysOn": "text",
              "cluster": "text",
              "galera": "text",
              "ha": "text",
              "replica": "text",
              "sentinel": "text",
              "single": "text",
              "standalone": "text"
            }
          ]
        },
        "properties": [
          {
            "defaultValue": "text",
            "description": "text",
            "displayed": true,
            "editable": true,
            "key": "text",
            "mandatory": true,
            "value": "text"
          }
        ],
        "resources": [
          {
            "available": true,
            "id": "text",
            "optionDescrEn": "text",
            "optionDescrFr": "text",
            "optionName": "text",
            "optionOrder": "text",
            "ram": 1,
            "vcpus": 1
          }
        ],
        "storage": {
          "maxVolumes": 1,
          "minVolumeSize": 1,
          "totalSizeAuthorized": 1,
          "totalVolumesSize": 1,
          "volumes": [
            {
              "description": "text",
              "editable": 1,
              "exclFromSnap": 1,
              "id": "data",
              "mandatory": true,
              "max": 1,
              "min": 1,
              "order": 1,
              "sizeGb": 1,
              "system": true
            }
          ]
        }
      },
      "productCode": "text",
      "region": "text",
      "regulation": "text",
      "replicationEnabled": true,
      "serverBackupPolicyId": "text",
      "serviceId": 1,
      "supportLevel": "NO_MONITORING_NO_SUPPORT"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    PATCH /itcare/databases/opensearch/{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-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    POST /itcare/databases/redis HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/vnd.cegedim-it.v1+json
    Accept: */*
    Content-Length: 2018
    
    {
      "admPassword": "text",
      "area": "text",
      "az": "text",
      "backupEnabled": true,
      "cloudId": 1,
      "dbBackupPolicyId": "text",
      "diskSize": 1,
      "instanceCount": 1,
      "name": "text",
      "networkId": 1,
      "noBackupProdReason": "text",
      "noMonitoringProdReason": "text",
      "noReplicationProdReason": "text",
      "nodeSizing": "text",
      "persistenceMode": "text",
      "product": {
        "BACKUP_POLICY_TYPE": "text",
        "CATEGORY_WEIGHT": 1,
        "CODE": "text",
        "COMMENT": "text",
        "DOCUMENTATION": "text",
        "EDITION": "text",
        "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
        "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "ENFORCED_AUTH_DOMAIN": true,
        "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "FAMILY_WEIGHT": 1,
        "ID": "text",
        "IMG": "text",
        "LABEL": "text",
        "NAME": "text",
        "PLATFORM": "text",
        "PRODUCT_CATEGORY": "text",
        "PRODUCT_DISPLAYABLE": true,
        "PRODUCT_IS_DISABLED": true,
        "PRODUCT_IS_IN_BETA_MODE": true,
        "PRODUCT_MAGIC_FORMS": "text",
        "PRODUCT_SKIP_TECHNOLOGY": true,
        "PRODUCT_TECHNOLOGY": "text",
        "PRODUCT_VERSION": "text",
        "RELEASED_AT": "2025-12-08T11:38:50.942Z",
        "STATUS": "text",
        "SUPPORT_FORM_AVAILABLE": true,
        "SUPPORT_FORM_ID": "text",
        "SUPPORT_PHASE": "text",
        "TECH_FORMONLY": true,
        "TECH_WEIGHT": 1,
        "TYPE": "text",
        "VERSION": "text",
        "configuration": {
          "topologies": [
            {
              "alwaysOn": "text",
              "cluster": "text",
              "galera": "text",
              "ha": "text",
              "replica": "text",
              "sentinel": "text",
              "single": "text",
              "standalone": "text"
            }
          ]
        },
        "properties": [
          {
            "defaultValue": "text",
            "description": "text",
            "displayed": true,
            "editable": true,
            "key": "text",
            "mandatory": true,
            "value": "text"
          }
        ],
        "resources": [
          {
            "available": true,
            "id": "text",
            "optionDescrEn": "text",
            "optionDescrFr": "text",
            "optionName": "text",
            "optionOrder": "text",
            "ram": 1,
            "vcpus": 1
          }
        ],
        "storage": {
          "maxVolumes": 1,
          "minVolumeSize": 1,
          "totalSizeAuthorized": 1,
          "totalVolumesSize": 1,
          "volumes": [
            {
              "description": "text",
              "editable": 1,
              "exclFromSnap": 1,
              "id": "data",
              "mandatory": true,
              "max": 1,
              "min": 1,
              "order": 1,
              "sizeGb": 1,
              "system": true
            }
          ]
        }
      },
      "productCode": "text",
      "region": "text",
      "regulation": "text",
      "replicationEnabled": true,
      "serverBackupPolicyId": "text",
      "serviceId": 1,
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "tlsEnabled": true,
      "vmPrefix": "text"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    PATCH /itcare/databases/redis/{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-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    POST /itcare/databases/mariadb HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/vnd.cegedim-it.v1+json
    Accept: */*
    Content-Length: 2007
    
    {
      "admPassword": "text",
      "area": "text",
      "authenticationDomain": "text",
      "az": "text",
      "backupEnabled": true,
      "cloudId": 1,
      "dbBackupPolicyId": "text",
      "diskSize": 1,
      "instanceCount": 1,
      "name": "text",
      "networkId": 1,
      "noBackupProdReason": "text",
      "noMonitoringProdReason": "text",
      "noReplicationProdReason": "text",
      "nodeSizing": "text",
      "product": {
        "BACKUP_POLICY_TYPE": "text",
        "CATEGORY_WEIGHT": 1,
        "CODE": "text",
        "COMMENT": "text",
        "DOCUMENTATION": "text",
        "EDITION": "text",
        "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
        "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "ENFORCED_AUTH_DOMAIN": true,
        "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "FAMILY_WEIGHT": 1,
        "ID": "text",
        "IMG": "text",
        "LABEL": "text",
        "NAME": "text",
        "PLATFORM": "text",
        "PRODUCT_CATEGORY": "text",
        "PRODUCT_DISPLAYABLE": true,
        "PRODUCT_IS_DISABLED": true,
        "PRODUCT_IS_IN_BETA_MODE": true,
        "PRODUCT_MAGIC_FORMS": "text",
        "PRODUCT_SKIP_TECHNOLOGY": true,
        "PRODUCT_TECHNOLOGY": "text",
        "PRODUCT_VERSION": "text",
        "RELEASED_AT": "2025-12-08T11:38:50.942Z",
        "STATUS": "text",
        "SUPPORT_FORM_AVAILABLE": true,
        "SUPPORT_FORM_ID": "text",
        "SUPPORT_PHASE": "text",
        "TECH_FORMONLY": true,
        "TECH_WEIGHT": 1,
        "TYPE": "text",
        "VERSION": "text",
        "configuration": {
          "topologies": [
            {
              "alwaysOn": "text",
              "cluster": "text",
              "galera": "text",
              "ha": "text",
              "replica": "text",
              "sentinel": "text",
              "single": "text",
              "standalone": "text"
            }
          ]
        },
        "properties": [
          {
            "defaultValue": "text",
            "description": "text",
            "displayed": true,
            "editable": true,
            "key": "text",
            "mandatory": true,
            "value": "text"
          }
        ],
        "resources": [
          {
            "available": true,
            "id": "text",
            "optionDescrEn": "text",
            "optionDescrFr": "text",
            "optionName": "text",
            "optionOrder": "text",
            "ram": 1,
            "vcpus": 1
          }
        ],
        "storage": {
          "maxVolumes": 1,
          "minVolumeSize": 1,
          "totalSizeAuthorized": 1,
          "totalVolumesSize": 1,
          "volumes": [
            {
              "description": "text",
              "editable": 1,
              "exclFromSnap": 1,
              "id": "data",
              "mandatory": true,
              "max": 1,
              "min": 1,
              "order": 1,
              "sizeGb": 1,
              "system": true
            }
          ]
        }
      },
      "productCode": "text",
      "region": "text",
      "regulation": "text",
      "replicationEnabled": true,
      "serverBackupPolicyId": "text",
      "serviceId": 1,
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "topology": "SINGLE"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    PATCH /itcare/databases/mariadb/{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-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    GET /itcare/compute/containers/kubernetes HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "content": [
        {
          "allowMonitoringDisplay": true,
          "availableAZs": [
            "text"
          ],
          "availableDCs": [
            "text"
          ],
          "backupPolicyDetails": {
            "backups": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "id": 1,
                "type": "text"
              }
            ],
            "policies": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "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",
          "creationTime": "text",
          "creationUser": "text",
          "endOfSalesAt": "2025-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "family": "text",
          "id": 1,
          "ingressProvider": "NGINX",
          "internalResourceId": 1,
          "internalType": "text",
          "ipAddress": "text",
          "label": "text",
          "labelArea": "text",
          "labelAreaList": [
            "text"
          ],
          "labelAvailabilityZone": "text",
          "labelDataCenter": "text",
          "labelRegion": "text",
          "lastKubeVersion": "text",
          "managementUrl": "text",
          "metrologyUrl": "text",
          "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
          },
          "nodeCount": 1,
          "patchParty": {
            "excluded": true,
            "excludedBy": "text",
            "exclusionDate": "2025-12-08T11:38:50.942Z",
            "exclusionReason": "text",
            "id": 1,
            "name": "text",
            "patchDate": "2025-12-08T11:38:50.942Z",
            "patchGroup": "text",
            "patchTag": "text"
          },
          "path": "text",
          "prettyLabel": "text",
          "productCode": "text",
          "productName": "text",
          "productVersion": "text",
          "releasedAt": "2025-12-08T11:38:50.942Z",
          "replicationStatus": true,
          "resourceType": "text",
          "serviceId": 1,
          "serviceKey": "text",
          "serviceName": "text",
          "status": "text",
          "supportLevel": "NO_MONITORING_NO_SUPPORT",
          "supportPhase": "text",
          "supportsHAMode": true,
          "technicalId": "text",
          "technology": "text",
          "topology": "text",
          "type": "text",
          "version": "text",
          "versionDetailed": "text"
        }
      ],
      "empty": true,
      "first": true,
      "last": true,
      "number": 1,
      "numberOfElements": 1,
      "pageable": {
        "offset": 1,
        "pageNumber": 1,
        "pageSize": 1,
        "paged": true,
        "sort": [
          {
            "ascending": true,
            "direction": "text",
            "ignoreCase": true,
            "nullHandling": "text",
            "property": "text"
          }
        ],
        "unpaged": true
      },
      "size": 1,
      "sort": [
        {
          "ascending": true,
          "direction": "text",
          "ignoreCase": true,
          "nullHandling": "text",
          "property": "text"
        }
      ],
      "totalElements": 1,
      "totalPages": 1
    }
    POST /itcare/compute/containers/kubernetes HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/vnd.cegedim-it.v1+json
    Accept: */*
    Content-Length: 1928
    
    {
      "area": "text",
      "az": "text",
      "backupEnabled": true,
      "cloudId": 1,
      "dbBackupPolicyId": "text",
      "ingressProvider": "NGINX",
      "instanceCount": 1,
      "name": "text",
      "networkId": 1,
      "noBackupProdReason": "text",
      "noMonitoringProdReason": "text",
      "noReplicationProdReason": "text",
      "nodeSizing": "text",
      "product": {
        "BACKUP_POLICY_TYPE": "text",
        "CATEGORY_WEIGHT": 1,
        "CODE": "text",
        "COMMENT": "text",
        "DOCUMENTATION": "text",
        "EDITION": "text",
        "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
        "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "ENFORCED_AUTH_DOMAIN": true,
        "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "FAMILY_WEIGHT": 1,
        "ID": "text",
        "IMG": "text",
        "LABEL": "text",
        "NAME": "text",
        "PLATFORM": "text",
        "PRODUCT_CATEGORY": "text",
        "PRODUCT_DISPLAYABLE": true,
        "PRODUCT_IS_DISABLED": true,
        "PRODUCT_IS_IN_BETA_MODE": true,
        "PRODUCT_MAGIC_FORMS": "text",
        "PRODUCT_SKIP_TECHNOLOGY": true,
        "PRODUCT_TECHNOLOGY": "text",
        "PRODUCT_VERSION": "text",
        "RELEASED_AT": "2025-12-08T11:38:50.942Z",
        "STATUS": "text",
        "SUPPORT_FORM_AVAILABLE": true,
        "SUPPORT_FORM_ID": "text",
        "SUPPORT_PHASE": "text",
        "TECH_FORMONLY": true,
        "TECH_WEIGHT": 1,
        "TYPE": "text",
        "VERSION": "text",
        "configuration": {
          "topologies": [
            {
              "alwaysOn": "text",
              "cluster": "text",
              "galera": "text",
              "ha": "text",
              "replica": "text",
              "sentinel": "text",
              "single": "text",
              "standalone": "text"
            }
          ]
        },
        "properties": [
          {
            "defaultValue": "text",
            "description": "text",
            "displayed": true,
            "editable": true,
            "key": "text",
            "mandatory": true,
            "value": "text"
          }
        ],
        "resources": [
          {
            "available": true,
            "id": "text",
            "optionDescrEn": "text",
            "optionDescrFr": "text",
            "optionName": "text",
            "optionOrder": "text",
            "ram": 1,
            "vcpus": 1
          }
        ],
        "storage": {
          "maxVolumes": 1,
          "minVolumeSize": 1,
          "totalSizeAuthorized": 1,
          "totalVolumesSize": 1,
          "volumes": [
            {
              "description": "text",
              "editable": 1,
              "exclFromSnap": 1,
              "id": "data",
              "mandatory": true,
              "max": 1,
              "min": 1,
              "order": 1,
              "sizeGb": 1,
              "system": true
            }
          ]
        }
      },
      "region": "text",
      "regulation": "text",
      "replicationEnabled": true,
      "serverBackupPolicyId": "text",
      "serviceId": 1,
      "supportLevel": "NO_MONITORING_NO_SUPPORT"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    PATCH /itcare/compute/containers/kubernetes/{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-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    [
      {
        "backupPolicyDetails": {
          "backups": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "id": 1,
              "type": "text"
            }
          ],
          "policies": [
            {
              "backupLastDate": "2025-12-08T11:38:50.942Z",
              "backupSize": 1,
              "durationInHours": 1,
              "frequencies": {},
              "label": "text",
              "name": "text",
              "policyId": "text",
              "replication": true,
              "scope": "text",
              "startTime": "text",
              "timezone": "text",
              "type": "text"
            }
          ]
        },
        "backupStatus": true,
        "botDefenseEnabled": true,
        "botDefenseUpdating": true,
        "category": "text",
        "certificate": {
          "certificateName": "text",
          "commonName": "text",
          "description": "text",
          "expirationDate": "text",
          "id": 1
        },
        "cloudId": 1,
        "cloudName": "text",
        "comment": "text",
        "creationTime": "text",
        "creationUser": "text",
        "defaultPersistence": "text",
        "endOfSalesAt": "2025-12-08T11:38:50.942Z",
        "endOfSupportAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "extendedSupportAt": "2025-12-08T11:38:50.942Z",
        "fallbackPersistence": "text",
        "family": "text",
        "healthChecks": [
          {
            "comment": "text",
            "description": "text",
            "id": 1,
            "name": "text"
          }
        ],
        "id": 1,
        "internalResourceId": 1,
        "internalType": "text",
        "ipAddress": "text",
        "irules": [
          {
            "description": "text",
            "name": "text"
          }
        ],
        "label": "text",
        "labelArea": "text",
        "labelAvailabilityZone": "text",
        "labelDataCenter": "text",
        "labelRegion": "text",
        "loadBalancingMode": "text",
        "members": [
          {
            "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-12-08T11:38:50.942Z",
              "size": 1,
              "type": "text"
            },
            "backupPolicyDetails": {
              "backups": [
                {
                  "backupLastDate": "2025-12-08T11:38:50.942Z",
                  "backupSize": 1,
                  "id": 1,
                  "type": "text"
                }
              ],
              "policies": [
                {
                  "backupLastDate": "2025-12-08T11:38:50.942Z",
                  "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-12-08T11:38:50.942Z",
            "endOfSupportAt": "2025-12-08T11:38:50.942Z",
            "environment": "text",
            "extendedSupportAt": "2025-12-08T11:38:50.942Z",
            "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,
                "name": "text",
                "serviceId": 1,
                "status": "text"
              }
            ],
            "metrologyUrl": "text",
            "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-12-08T11:38:50.942Z",
              "exclusionReason": "text",
              "id": 1,
              "name": "text",
              "patchDate": "2025-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
            "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-12-08T11:38:50.942Z",
              "createdBy": "text",
              "description": "text",
              "expiresAt": "2025-12-08T11:38:50.942Z",
              "id": "text",
              "label": "text",
              "recoveredAt": "2025-12-08T11:38:50.942Z",
              "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"
          }
        ],
        "metrologyUrl": "text",
        "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
        },
        "nodeCount": 1,
        "parentResource": {
          "backupPolicyDetails": {
            "backups": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "id": 1,
                "type": "text"
              }
            ],
            "policies": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "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",
          "creationTime": "text",
          "creationUser": "text",
          "endOfSalesAt": "2025-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "family": "text",
          "id": 1,
          "internalResourceId": 1,
          "internalType": "text",
          "ipAddress": "text",
          "label": "text",
          "labelArea": "text",
          "labelAvailabilityZone": "text",
          "labelDataCenter": "text",
          "labelRegion": "text",
          "metrologyUrl": "text",
          "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
          },
          "patchParty": {
            "excluded": true,
            "excludedBy": "text",
            "exclusionDate": "2025-12-08T11:38:50.942Z",
            "exclusionReason": "text",
            "id": 1,
            "name": "text",
            "patchDate": "2025-12-08T11:38:50.942Z",
            "patchGroup": "text",
            "patchTag": "text"
          },
          "path": "text",
          "prettyLabel": "text",
          "productCode": "text",
          "productName": "text",
          "productVersion": "text",
          "releasedAt": "2025-12-08T11:38:50.942Z",
          "replicationStatus": true,
          "resourceType": "text",
          "serviceId": 1,
          "serviceKey": "text",
          "serviceName": "text",
          "status": "text",
          "supportLevel": "NO_MONITORING_NO_SUPPORT",
          "supportPhase": "text",
          "technology": "text",
          "type": "text"
        },
        "patchParty": {
          "excluded": true,
          "excludedBy": "text",
          "exclusionDate": "2025-12-08T11:38:50.942Z",
          "exclusionReason": "text",
          "id": 1,
          "name": "text",
          "patchDate": "2025-12-08T11:38:50.942Z",
          "patchGroup": "text",
          "patchTag": "text"
        },
        "path": "text",
        "prettyLabel": "text",
        "productCode": "text",
        "productName": "text",
        "productVersion": "text",
        "protocols": [
          {
            "comment": "text",
            "isCertificateRequired": true,
            "name": "text",
            "order": 1,
            "persistence": true,
            "port": 1,
            "profileNoPersistenceNoRedirect": "text",
            "profileNoPersistenceOnly": "text",
            "profileNoPersistenceRedirect": "text",
            "profilePersistenceNoRedirect": "text",
            "profilePersistenceOnly": "text",
            "profilePersistenceRedirect": "text",
            "protocol": "text",
            "redirectToHttps": true
          }
        ],
        "releasedAt": "2025-12-08T11:38:50.942Z",
        "replicationStatus": true,
        "resourceType": "text",
        "securityProfile": {
          "comment": "text",
          "description": "text",
          "enforcement": "text",
          "id": "text",
          "name": "text",
          "profile": "text",
          "template": "text",
          "whiteList": [
            {
              "comment": "text",
              "ip": "text",
              "url": "text"
            }
          ]
        },
        "serviceId": 1,
        "serviceKey": "text",
        "serviceName": "text",
        "snatAutomap": true,
        "status": "text",
        "supportLevel": "NO_MONITORING_NO_SUPPORT",
        "supportPhase": "text",
        "technology": "text",
        "type": "text",
        "urls": [
          {
            "comment": "text",
            "creationTime": "text",
            "creationUser": "text",
            "description": "text",
            "endOfSalesAt": "2025-12-08T11:38:50.942Z",
            "endOfSupportAt": "2025-12-08T11:38:50.942Z",
            "environment": "text",
            "extendedSupportAt": "2025-12-08T11:38:50.942Z",
            "id": 1,
            "monitoringMode": "text",
            "name": "text",
            "releasedAt": "2025-12-08T11:38:50.942Z",
            "serviceId": 1,
            "serviceKey": "text",
            "serviceName": "text",
            "specificChecks": [
              {
                "name": "text",
                "parameter": {
                  "authentification": {
                    "password": "text",
                    "user": "text"
                  },
                  "criticalContent": "text",
                  "criticalStatus": "text",
                  "expectedContent": "text",
                  "headers": [
                    {
                      "key": "text",
                      "value": "text"
                    }
                  ],
                  "method": "text",
                  "parameters": [
                    {
                      "key": "text",
                      "value": "text"
                    }
                  ],
                  "path": "text",
                  "port": 1,
                  "prefix": "text",
                  "protocol": "text",
                  "warningContent": "text"
                }
              }
            ],
            "status": "text",
            "supportLevel": "NO_MONITORING_NO_SUPPORT",
            "supportPhase": "text",
            "tags": [
              {
                "tagKey": "text",
                "tagValue": "text"
              }
            ],
            "type": "text"
          }
        ]
      }
    ]
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "ANY_ADDITIONAL_PROPERTY": {
        "cpuCount": 1,
        "nodeCount": 1,
        "ramCount": 1
      }
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    POST /itcare/databases/postgresql HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/vnd.cegedim-it.v1+json
    Accept: */*
    Content-Length: 2053
    
    {
      "admPassword": "text",
      "allowedReplicationLag": 1,
      "area": "text",
      "az": "text",
      "backupEnabled": true,
      "cloudId": 1,
      "dbBackupPolicyId": "text",
      "diskSize": 1,
      "networkId": 1,
      "noBackupProdReason": "text",
      "noMonitoringProdReason": "text",
      "noReplicationProdReason": "text",
      "nodeSizing": "text",
      "prefix": "text",
      "product": {
        "BACKUP_POLICY_TYPE": "text",
        "CATEGORY_WEIGHT": 1,
        "CODE": "text",
        "COMMENT": "text",
        "DOCUMENTATION": "text",
        "EDITION": "text",
        "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
        "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "ENFORCED_AUTH_DOMAIN": true,
        "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "FAMILY_WEIGHT": 1,
        "ID": "text",
        "IMG": "text",
        "LABEL": "text",
        "NAME": "text",
        "PLATFORM": "text",
        "PRODUCT_CATEGORY": "text",
        "PRODUCT_DISPLAYABLE": true,
        "PRODUCT_IS_DISABLED": true,
        "PRODUCT_IS_IN_BETA_MODE": true,
        "PRODUCT_MAGIC_FORMS": "text",
        "PRODUCT_SKIP_TECHNOLOGY": true,
        "PRODUCT_TECHNOLOGY": "text",
        "PRODUCT_VERSION": "text",
        "RELEASED_AT": "2025-12-08T11:38:50.942Z",
        "STATUS": "text",
        "SUPPORT_FORM_AVAILABLE": true,
        "SUPPORT_FORM_ID": "text",
        "SUPPORT_PHASE": "text",
        "TECH_FORMONLY": true,
        "TECH_WEIGHT": 1,
        "TYPE": "text",
        "VERSION": "text",
        "configuration": {
          "topologies": [
            {
              "alwaysOn": "text",
              "cluster": "text",
              "galera": "text",
              "ha": "text",
              "replica": "text",
              "sentinel": "text",
              "single": "text",
              "standalone": "text"
            }
          ]
        },
        "properties": [
          {
            "defaultValue": "text",
            "description": "text",
            "displayed": true,
            "editable": true,
            "key": "text",
            "mandatory": true,
            "value": "text"
          }
        ],
        "resources": [
          {
            "available": true,
            "id": "text",
            "optionDescrEn": "text",
            "optionDescrFr": "text",
            "optionName": "text",
            "optionOrder": "text",
            "ram": 1,
            "vcpus": 1
          }
        ],
        "storage": {
          "maxVolumes": 1,
          "minVolumeSize": 1,
          "totalSizeAuthorized": 1,
          "totalVolumesSize": 1,
          "volumes": [
            {
              "description": "text",
              "editable": 1,
              "exclFromSnap": 1,
              "id": "data",
              "mandatory": true,
              "max": 1,
              "min": 1,
              "order": 1,
              "sizeGb": 1,
              "system": true
            }
          ]
        }
      },
      "productCode": "text",
      "region": "text",
      "regulation": "text",
      "replicationEnabled": true,
      "serverBackupPolicyId": "text",
      "serviceId": 1,
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "tls": true,
      "topology": "STANDALONE",
      "trigram": "text",
      "name": "text",
      "nodePrefix": "text"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    PATCH /itcare/databases/postgresql/{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-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    GET /itcare/networking/loadbalancers HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "content": [
        {
          "backupPolicyDetails": {
            "backups": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "id": 1,
                "type": "text"
              }
            ],
            "policies": [
              {
                "backupLastDate": "2025-12-08T11:38:50.942Z",
                "backupSize": 1,
                "durationInHours": 1,
                "frequencies": {},
                "label": "text",
                "name": "text",
                "policyId": "text",
                "replication": true,
                "scope": "text",
                "startTime": "text",
                "timezone": "text",
                "type": "text"
              }
            ]
          },
          "backupStatus": true,
          "botDefenseEnabled": true,
          "botDefenseUpdating": true,
          "category": "text",
          "certificate": {
            "certificateName": "text",
            "commonName": "text",
            "description": "text",
            "expirationDate": "text",
            "id": 1
          },
          "cloudId": 1,
          "cloudName": "text",
          "comment": "text",
          "creationTime": "text",
          "creationUser": "text",
          "defaultPersistence": "text",
          "endOfSalesAt": "2025-12-08T11:38:50.942Z",
          "endOfSupportAt": "2025-12-08T11:38:50.942Z",
          "environment": "text",
          "extendedSupportAt": "2025-12-08T11:38:50.942Z",
          "fallbackPersistence": "text",
          "family": "text",
          "healthChecks": [
            {
              "comment": "text",
              "description": "text",
              "id": 1,
              "name": "text"
            }
          ],
          "id": 1,
          "internalResourceId": 1,
          "internalType": "text",
          "ipAddress": "text",
          "irules": [
            {
              "description": "text",
              "name": "text"
            }
          ],
          "label": "text",
          "labelArea": "text",
          "labelAvailabilityZone": "text",
          "labelDataCenter": "text",
          "labelRegion": "text",
          "loadBalancingMode": "text",
          "members": [
            {
              "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-12-08T11:38:50.942Z",
                "size": 1,
                "type": "text"
              },
              "backupPolicyDetails": {
                "backups": [
                  {
                    "backupLastDate": "2025-12-08T11:38:50.942Z",
                    "backupSize": 1,
                    "id": 1,
                    "type": "text"
                  }
                ],
                "policies": [
                  {
                    "backupLastDate": "2025-12-08T11:38:50.942Z",
                    "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-12-08T11:38:50.942Z",
              "endOfSupportAt": "2025-12-08T11:38:50.942Z",
              "environment": "text",
              "extendedSupportAt": "2025-12-08T11:38:50.942Z",
              "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,
                  "name": "text",
                  "serviceId": 1,
                  "status": "text"
                }
              ],
              "metrologyUrl": "text",
              "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-12-08T11:38:50.942Z",
                "exclusionReason": "text",
                "id": 1,
                "name": "text",
                "patchDate": "2025-12-08T11:38:50.942Z",
                "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-12-08T11:38:50.942Z",
              "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-12-08T11:38:50.942Z",
                "createdBy": "text",
                "description": "text",
                "expiresAt": "2025-12-08T11:38:50.942Z",
                "id": "text",
                "label": "text",
                "recoveredAt": "2025-12-08T11:38:50.942Z",
                "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"
            }
          ],
          "metrologyUrl": "text",
          "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
          },
          "nodeCount": 1,
          "parentResource": {
            "backupPolicyDetails": {
              "backups": [
                {
                  "backupLastDate": "2025-12-08T11:38:50.942Z",
                  "backupSize": 1,
                  "id": 1,
                  "type": "text"
                }
              ],
              "policies": [
                {
                  "backupLastDate": "2025-12-08T11:38:50.942Z",
                  "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",
            "creationTime": "text",
            "creationUser": "text",
            "endOfSalesAt": "2025-12-08T11:38:50.942Z",
            "endOfSupportAt": "2025-12-08T11:38:50.942Z",
            "environment": "text",
            "extendedSupportAt": "2025-12-08T11:38:50.942Z",
            "family": "text",
            "id": 1,
            "internalResourceId": 1,
            "internalType": "text",
            "ipAddress": "text",
            "label": "text",
            "labelArea": "text",
            "labelAvailabilityZone": "text",
            "labelDataCenter": "text",
            "labelRegion": "text",
            "metrologyUrl": "text",
            "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
            },
            "patchParty": {
              "excluded": true,
              "excludedBy": "text",
              "exclusionDate": "2025-12-08T11:38:50.942Z",
              "exclusionReason": "text",
              "id": 1,
              "name": "text",
              "patchDate": "2025-12-08T11:38:50.942Z",
              "patchGroup": "text",
              "patchTag": "text"
            },
            "path": "text",
            "prettyLabel": "text",
            "productCode": "text",
            "productName": "text",
            "productVersion": "text",
            "releasedAt": "2025-12-08T11:38:50.942Z",
            "replicationStatus": true,
            "resourceType": "text",
            "serviceId": 1,
            "serviceKey": "text",
            "serviceName": "text",
            "status": "text",
            "supportLevel": "NO_MONITORING_NO_SUPPORT",
            "supportPhase": "text",
            "technology": "text",
            "type": "text"
          },
          "patchParty": {
            "excluded": true,
            "excludedBy": "text",
            "exclusionDate": "2025-12-08T11:38:50.942Z",
            "exclusionReason": "text",
            "id": 1,
            "name": "text",
            "patchDate": "2025-12-08T11:38:50.942Z",
            "patchGroup": "text",
            "patchTag": "text"
          },
          "path": "text",
          "prettyLabel": "text",
          "productCode": "text",
          "productName": "text",
          "productVersion": "text",
          "protocols": [
            {
              "comment": "text",
              "isCertificateRequired": true,
              "name": "text",
              "order": 1,
              "persistence": true,
              "port": 1,
              "profileNoPersistenceNoRedirect": "text",
              "profileNoPersistenceOnly": "text",
              "profileNoPersistenceRedirect": "text",
              "profilePersistenceNoRedirect": "text",
              "profilePersistenceOnly": "text",
              "profilePersistenceRedirect": "text",
              "protocol": "text",
              "redirectToHttps": true
            }
          ],
          "releasedAt": "2025-12-08T11:38:50.942Z",
          "replicationStatus": true,
          "resourceType": "text",
          "securityProfile": {
            "comment": "text",
            "description": "text",
            "enforcement": "text",
            "id": "text",
            "name": "text",
            "profile": "text",
            "template": "text",
            "whiteList": [
              {
                "comment": "text",
                "ip": "text",
                "url": "text"
              }
            ]
          },
          "serviceId": 1,
          "serviceKey": "text",
          "serviceName": "text",
          "snatAutomap": true,
          "status": "text",
          "supportLevel": "NO_MONITORING_NO_SUPPORT",
          "supportPhase": "text",
          "technology": "text",
          "type": "text",
          "urls": [
            {
              "comment": "text",
              "creationTime": "text",
              "creationUser": "text",
              "description": "text",
              "endOfSalesAt": "2025-12-08T11:38:50.942Z",
              "endOfSupportAt": "2025-12-08T11:38:50.942Z",
              "environment": "text",
              "extendedSupportAt": "2025-12-08T11:38:50.942Z",
              "id": 1,
              "monitoringMode": "text",
              "name": "text",
              "releasedAt": "2025-12-08T11:38:50.942Z",
              "serviceId": 1,
              "serviceKey": "text",
              "serviceName": "text",
              "specificChecks": [
                {
                  "name": "text",
                  "parameter": {
                    "authentification": {
                      "password": "text",
                      "user": "text"
                    },
                    "criticalContent": "text",
                    "criticalStatus": "text",
                    "expectedContent": "text",
                    "headers": [
                      {
                        "key": "text",
                        "value": "text"
                      }
                    ],
                    "method": "text",
                    "parameters": [
                      {
                        "key": "text",
                        "value": "text"
                      }
                    ],
                    "path": "text",
                    "port": 1,
                    "prefix": "text",
                    "protocol": "text",
                    "warningContent": "text"
                  }
                }
              ],
              "status": "text",
              "supportLevel": "NO_MONITORING_NO_SUPPORT",
              "supportPhase": "text",
              "tags": [
                {
                  "tagKey": "text",
                  "tagValue": "text"
                }
              ],
              "type": "text"
            }
          ]
        }
      ],
      "empty": true,
      "first": true,
      "last": true,
      "number": 1,
      "numberOfElements": 1,
      "pageable": {
        "offset": 1,
        "pageNumber": 1,
        "pageSize": 1,
        "paged": true,
        "sort": [
          {
            "ascending": true,
            "direction": "text",
            "ignoreCase": true,
            "nullHandling": "text",
            "property": "text"
          }
        ],
        "unpaged": true
      },
      "size": 1,
      "sort": [
        {
          "ascending": true,
          "direction": "text",
          "ignoreCase": true,
          "nullHandling": "text",
          "property": "text"
        }
      ],
      "totalElements": 1,
      "totalPages": 1
    }
    POST /itcare/networking/loadbalancers HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 2187
    
    {
      "area": "text",
      "backupEnabled": true,
      "certificateName": "text",
      "cloudId": 1,
      "dbBackupPolicyId": "text",
      "healthcheck": "text",
      "members": [
        {
          "id": 1,
          "name": "text",
          "network": {
            "area": "text",
            "cidr": "text",
            "id": 1,
            "ipAddress": "text",
            "name": "text",
            "region": "text",
            "technicalId": "text"
          }
        }
      ],
      "networkId": 1,
      "noBackupProdReason": "text",
      "noMonitoringProdReason": "text",
      "noReplicationProdReason": "text",
      "persistence": true,
      "portMembers": "text",
      "product": {
        "BACKUP_POLICY_TYPE": "text",
        "CATEGORY_WEIGHT": 1,
        "CODE": "text",
        "COMMENT": "text",
        "DOCUMENTATION": "text",
        "EDITION": "text",
        "END_OF_SALES_AT": "2025-12-08T11:38:50.942Z",
        "END_OF_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "ENFORCED_AUTH_DOMAIN": true,
        "EXTENDED_SUPPORT_AT": "2025-12-08T11:38:50.942Z",
        "FAMILY_WEIGHT": 1,
        "ID": "text",
        "IMG": "text",
        "LABEL": "text",
        "NAME": "text",
        "PLATFORM": "text",
        "PRODUCT_CATEGORY": "text",
        "PRODUCT_DISPLAYABLE": true,
        "PRODUCT_IS_DISABLED": true,
        "PRODUCT_IS_IN_BETA_MODE": true,
        "PRODUCT_MAGIC_FORMS": "text",
        "PRODUCT_SKIP_TECHNOLOGY": true,
        "PRODUCT_TECHNOLOGY": "text",
        "PRODUCT_VERSION": "text",
        "RELEASED_AT": "2025-12-08T11:38:50.942Z",
        "STATUS": "text",
        "SUPPORT_FORM_AVAILABLE": true,
        "SUPPORT_FORM_ID": "text",
        "SUPPORT_PHASE": "text",
        "TECH_FORMONLY": true,
        "TECH_WEIGHT": 1,
        "TYPE": "text",
        "VERSION": "text",
        "configuration": {
          "topologies": [
            {
              "alwaysOn": "text",
              "cluster": "text",
              "galera": "text",
              "ha": "text",
              "replica": "text",
              "sentinel": "text",
              "single": "text",
              "standalone": "text"
            }
          ]
        },
        "properties": [
          {
            "defaultValue": "text",
            "description": "text",
            "displayed": true,
            "editable": true,
            "key": "text",
            "mandatory": true,
            "value": "text"
          }
        ],
        "resources": [
          {
            "available": true,
            "id": "text",
            "optionDescrEn": "text",
            "optionDescrFr": "text",
            "optionName": "text",
            "optionOrder": "text",
            "ram": 1,
            "vcpus": 1
          }
        ],
        "storage": {
          "maxVolumes": 1,
          "minVolumeSize": 1,
          "totalSizeAuthorized": 1,
          "totalVolumesSize": 1,
          "volumes": [
            {
              "description": "text",
              "editable": 1,
              "exclFromSnap": 1,
              "id": "data",
              "mandatory": true,
              "max": 1,
              "min": 1,
              "order": 1,
              "sizeGb": 1,
              "system": true
            }
          ]
        }
      },
      "profileName": "text",
      "redirectToHttps": true,
      "region": "text",
      "regulation": "text",
      "replicationEnabled": true,
      "serverBackupPolicyId": "text",
      "serviceId": 1,
      "setUpDNSEnabled": true,
      "sslProfile": "text",
      "supportLevel": "NO_MONITORING_NO_SUPPORT",
      "url": "text",
      "vsPort": 1
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    PATCH /itcare/networking/loadbalancers/{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-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    [
      {
        "ANY_ADDITIONAL_PROPERTY": "text"
      }
    ]
    POST /itcare/networking/loadbalancers/{id}/members HTTP/1.1
    Host: api.cegedim.cloud
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 238
    
    {
      "address": "text",
      "category": "text",
      "family": "text",
      "internalType": "text",
      "labelArea": "text",
      "name": "text",
      "port": 1,
      "productName": "text",
      "resourceId": 1,
      "serviceId": 1,
      "state": "text",
      "status": "text",
      "technicalId": "text",
      "technology": "text"
    }
    [
      {
        "address": "text",
        "category": "text",
        "family": "text",
        "internalType": "text",
        "labelArea": "text",
        "name": "text",
        "port": 1,
        "productName": "text",
        "resourceId": 1,
        "serviceId": 1,
        "state": "text",
        "status": "text",
        "technicalId": "text",
        "technology": "text"
      }
    ]
    [
      {
        "address": "text",
        "category": "text",
        "family": "text",
        "internalType": "text",
        "labelArea": "text",
        "name": "text",
        "port": 1,
        "productName": "text",
        "resourceId": 1,
        "serviceId": 1,
        "state": "text",
        "status": "text",
        "technicalId": "text",
        "technology": "text"
      }
    ]
    {
      "address": "text",
      "category": "text",
      "family": "text",
      "internalType": "text",
      "labelArea": "text",
      "name": "text",
      "port": 1,
      "productName": "text",
      "resourceId": 1,
      "serviceId": 1,
      "state": "text",
      "status": "text",
      "technicalId": "text",
      "technology": "text"
    }
    {
      "isValidSSLProfilInstalled": true,
      "validSSLProfiles": [
        {
          "certificat": "text",
          "description": "text",
          "id": 1,
          "name": "text",
          "serverName": "text",
          "sniDefault": true
        }
      ]
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    {
      "family": "text",
      "id": 1,
      "internalId": 1,
      "lastUpdatedAt": "2025-12-08T11:38:50.942Z",
      "message": "text",
      "process": "text",
      "resourceName": "text",
      "resourceType": "text",
      "status": "SUCCESS,IN_PROGRESS,ERROR"
    }
    [
      {
        "cloudId": 1,
        "cloudName": "text",
        "createdAt": "2025-12-08T11:38:50.942Z",
        "createdBy": "text",
        "description": "text",
        "descriptionFr": "text",
        "detail": "text",
        "detailFr": "text",
        "endAt": "2025-12-08T11:38:50.942Z",
        "environment": "text",
        "executionEndAt": "2025-12-08T11:38:50.942Z",
        "executionStartAt": "2025-12-08T11:38:50.942Z",
        "id": 1,
        "impact": "MAJOR",
        "maintenanceType": "text",
        "number": 1,
        "organizationId": 1,
        "patchTag": "text",
        "startAt": "2025-12-08T11:38:50.942Z",
        "title": "text",
        "titleFr": "text",
        "type": "CUSTOMER",
        "updatedAt": "2025-12-08T11:38:50.942Z",
        "updatedBy": "text"
      }
    ]
    Sélectionnez la région et la zone dans laquelle vous souhaitez installer votre cluster. Cliquez sur Suivant.

    Sélectionnez le VLAN dans lequel vous souhaitez déployer votre cluster. Cliquez sur Suivant.

    Activez ou désactivez les options supplémentaires :

    • Surveillance des machines virtuelles et des clusters

    • Surveillance 24/7

    • Sauvegarde

    • Réplication des machines virtuelles (récupération en cas de désastre)

    Cliquez sur Suivant.

    Sélectionnez la version et définissez un mot de passe administrateur qui sera utilisé pour gérer votre cluster.

    Les mots de passe ne sont pas sauvegardés par cegedim.cloud.

    Assurez-vous de sauvegarder votre mot de passe!

    A l'étape finale, vous pouvez vérifier la synthèse de votre demande : vérifier les noms des machines virtuelles à créer, sauvegarder votre mot de passe administrateur, modifier les options de gestion.

    Cliquez sur Soumettre.

    Une fois que le cluster est prêt, vous serez notifié par email avec les informations requises pour se connecter au cluster.

    La création d'un cluster peut prendre jusqu'à 2 heures en fonction de la charge actuelle de l'automatisation. Le cluster sera ensuite affiché dans votre service global, dans le panneau de contrôle de gauche, sous la section cluster associé. La flèche verte indique que le cluster est actif.

    Démarrer un cluster

    Dans le panneau de contrôle gauche, cliquez sur le nom du cluster pour afficher la page de détails de celui-ci. En haut de la page du cluster, cliquez sur le bouton Gérer, puis sur Démarrer et confirmer.

    Le démarrage d'un cluster démarre toutes les machines virtuelles attachées au cluster.

    Une notification par courriel sera envoyée lorsque le service sera activé.

    Arrêter un cluster

    En haut de la page du cluster, cliquez sur le bouton Gérer, puis sur Stop.

    Saisissez un numéro RFC pour le suivi (facultatif). Cliquez sur Soumettre.

    L'arrêt d'un cluster arrêtera toutes les machines virtuelles attachées au cluster et la surveillance sera désactivée.

    Une notification par courrier électronique sera envoyée lorsque le cluster sera arrêté.

    Ajouter des nœuds

    En haut de la page du cluster, cliquez sur le nom du cluster OpenSearch, puis sur Ajouter des nœuds.

    Sélectionnez le nombre de nœuds que vous souhaitez ajouter (nombre pair) et sélectionnez la nouvelle taille (cpu/ram). Spécifiez la taille du disque de données.

    Une notification par courrier électronique sera envoyée lorsque tous les nœuds auront été ajoutés.

    Redimensionner les nœuds

    En haut de la page du cluster, cliquez sur le bouton Gérer, puis sur Redimensionner les nœuds.

    Sélectionnez les nœuds que vous souhaitez redimensionner et sélectionnez la nouvelle taille (cpu/ram).

    Chaque nœud sera redimensionné et redémarré de manière séquentielle.

    Une notification par courriel sera envoyée lorsque tous les nœuds auront été redimensionnés.

    Supprimer des nœuds

    En haut de la page du cluster, cliquez sur le bouton Gérer, puis sur Supprimer des nœuds.

    Sélectionnez le nombre de nœuds que vous souhaitez supprimer (nombre pair) puis cliquez sur "Suivant". Copiez/collez ou tapez le nom des noeuds dans le champs "Confirm action" puis cliquez sur "Supprimer".

    Attention, cette action n'est disponible que pour les clusters ayant des masters dédiés Chaque noeud sélectionné doit faire partie d'une zone de disponibilité différente Assez d'espace doit être disponible sur les noeuds restant du clusters Chaque noeud sera supprimé de manière séquentielle

    Une notification par courriel sera envoyée lorsque tous les nœuds auront été suprimés.

    Supprimer un cluster

    En haut de la page du cluster, cliquez sur le bouton Gérer, puis sur Supprimer. Cette action arrêtera et supprimera toutes les machines virtuelles.

    Veuillez noter que cette action n'est pas récupérable!

    Saisissez un numéro RFC pour le suivi (facultatif), puis cliquez sur Soumettre.

    Une notification par courriel sera envoyée lorsque le cluster sera supprimé.

    Mise à niveau d'un cluster

    La mise à niveau d'un cluster n'est pas encore implémentée dans ITCare.

    Si vous souhaitez mettre à niveau votre cluster existant vers une version plus récente, vous devez envoyer une demande au support en indiquant la version souhaitée.

    Pendant la mise à jour, le cluster OpenSearch continuera à fonctionner correctement car nous effectuons une mise à jour continue. Cependant, il se peut que vous constatiez une courte indisponibilité pendant la mise à jour des serveurs de tableaux de bord, qui est effectuée après la mise à jour du cluster OpenSearch.

    Mise à jour de la topologie d'un cluster

    La mise à jour de la topologie d'un cluster est proposée pour un cluster Opensearch initialement constitué de trois nœuds (topologie basique).

    La mise à jour est implémentée dans ITCare via l'option "Gérer-Migrer vers un master dédié"

    La migration permet d'ajouter deux nœuds Master, tout en spécialisant les (n-1) nœuds existants au rôle de Data. Le cluster sera ainsi composé de trois nœuds Master et du reste des nœuds dédiés au rôle de Data.

    Pendant la mise à jour vers une topologie "Master dédié", le cluster continuera de fonctionner,bien qu'il puisse temporairement passer à un statut "Yellow".Cependant, certains objets du cluster, comme les tableaux de bord, peuvent être temporairement indisponibles. Tout reviendra à la normale une fois la migration terminée.

    Démo de migration

    Ajouter des nodes d'ingestions au cluster

    La fonctionnalité d'ajout de nœuds dédiés au rôle d'ingestion est disponible pour un cluster OpenSearch avec une topologie « master dédié » (cluster de cinq nœuds).

    La mise en place de nœuds d'ingestion dédiés est implémentée dans ITCare via le menu déroulant "Gérer" puis l'action "Ajouter des noeuds d'ingestion"

    Grâce à ces nœuds d'ingestion, il est possible d'isoler le processus d'ingestion des données, ce qui permet de limiter l'impact sur l'indexation ou la recherche, même en cas de volumes élevés de données entrantes. Cela améliore ainsi la stabilité et les performances globales du cluster.

    Lien vers la documentation officiel

    Démo des nodes d'ingestion

    Définir des attributs de nœud

    Attribut de noeuds - Architecture multi-niveaux - Hot/Cold

    L'architecture multi-niveau (Hot-Warm-Cold) dans OpenSearch permet d'optimiser les coûts, les performances et la scalabilité en fonction des besoins spécifiques de votre application. Cette architecture permet de stocker les données en fonction de leur fréquence d'accès, en répartissant les données fréquemment sollicitées au niveau des nœuds identifiés (Hot), les données moyennement sollicitées au niveau des nœuds identifiés (Warm) et les données non fréquemment recherchées au niveau des nœuds identifiés (Cold). En plus des différences d'attributs, le nombre de nœuds à chaque niveau peut également varier pour répondre aux besoins spécifiques des requêtes de recherche.

    Pour répondre à ce besoin, nous proposons deux niveaux à l'architecture multi-niveaux (Hot-Cold). La configuration des attributs de nœud est disponible dans ITCare via l'action "Définir les attributs du nœud", accessible au niveau de chaque nœud.

    Pour plus d'information sur la configuration des attributs de nœud, veuillez consulter la documentation officielle.

    Dépassement de la Limite de Shards

    Dans OpenSearch, chaque nœud est limité par défaut à 1000 shards pour maintenir les performances et la stabilité du cluster en gérant l’utilisation des ressources.

    Dépasser cette limite, par exemple lors de la création de nouveaux index, entraînera une erreur.

    Voici des solutions ci-dessous qui vous aideront à résoudre ce problème.

    Ajouter des Nœuds de Données au Cluster

    Ajouter des nœuds supplémentaires répartit les shards sur plus de ressources, réduisant la charge par nœud.

    Chaque nœud supplémentaire apporte sa propre limite de 1000 shards, augmentant ainsi la capacité globale du cluster.

    Augmenter le Paramètre cluster.max_shards_per_node

    Ajustez le paramètre cluster.max_shards_per_node pour autoriser plus de shards par nœud si votre matériel le permet (CPU, mémoire et stockage suffisants).

    Il est recommandé de ne pas dépasser 2000 shards par nœud pour éviter une surcharge.

    Utilisez la commande suivante pour modifier le paramètre :

    Optimiser l'Allocation des shards par index

    Lors de la création de nouveaux index, planifiez soigneusement le nombre de shards en fonction de la taille des données et de la croissance attendue.

    Voici quelques bonnes pratiques:

    • Utilisez moins de shard, plus grands, pour les petites données.

    • Révisez régulièrement l'allocation des shards pour optimiser l’utilisation des ressources selon l'évolution du cluster.

    Remarques

    Surveillez régulièrement l’utilisation des shards et des ressources pour des performances optimales.

    Un dashboard Grafana pour OpenSearch est disponible sur ce sujet dans votre plateforme de monitoring avancée.

    Assurez-vous que vos nœuds disposent de ressources suffisantes avant d’augmenter les limites de shards.

    MariaDB - Architecture

    Description

    L'édition communautaire de MariaDB est disponible en libre-service en deux topologies :

    • Une instance autonome (avec une réplique GTID sur demande)

    • Un cluster Galera s'appuyant sur 3 instances actives/actives

    Pour plus d'informations sur l'architecture de MariaDB :

    Les instances MariaDB sont accessibles sur le port 3306 par défaut.

    Régions

    MariaDB est disponible dans les centres de données cegedim.cloud suivants :

    • EB4 (Boulogne-Billancourt, France)

    • ET1 (Labège, France)

    Dans certains cas, lorsqu'un troisième nœud est déployé (cluster Galera), des centres de données secondaires proches peuvent également être utilisés pour assurer une résilience maximale :

    • EB5 (Magny-les-Hameaux, France)

    • ET2 (Balma, France)

    Ressources

    La plateforme en tant que service de MariaDB est hébergée sur la distribution Linux Debian 10.

    La taille minimale requise est de 2 CPU et 4GB de RAM.

    Le stockage peut être configuré pendant le provisionnement et augmenté par la suite sur demande.

    Topologies

    Instance autonome

    Il s'agit d'une instance simple déployée dans un seul centre de données.

    Réplication active/passive

    Deux instances MariaDB sont déployées dans le même centre de données : le nœud principal avec une réplique en lecture seule.

    Déployé uniquement sur requête !

    Cluster Galera

    Un cluster MariaDB Galera est un cluster multi-primaire virtuellement synchrone pour MariaDB.

    Un cluster basé sur 3 instances actives/actives est déployable dans n'importe quel centre de données de cegedim.cloud.

    Versions prises en charge

    La version prise en charge est la dernière LTS (long term support) actuellement disponible.

    Pour plus d'informations, veuillez consulter les versions de MariaDB.

    Restrictions

    Cette section énumère les fonctionnalités disponibles pour le client, ainsi que la manière de les demander ou de les exécuter :

    Caractéristiques
    Libre service
    Sur demande
    Commentaires

    Paramètres par défaut

    Quelques paramètres MariaDB par défaut configurés par cegedim.cloud :

    Paramètre
    Valeur
    Description

    Sauvegarde

    La politique de sauvegarde pour MariaDB est configurée comme suit :

    • Sauvegarde complète chaque week-end (en ligne)

    • Sauvegarde différentielle tous les jours (en ligne)

    • Sauvegarde de Binlog toutes les deux heures

    La rétention de sauvegarde par défaut pour les sauvegardes complètes et les sauvegardes dépendantes est de deux semaines.

    Sécurité

    Authentification

    L'authentification de MariaDB est basée sur l'utilisateur interne.

    Autorisations

    Un utilisateur d'administration est fourni au client lorsque le provisionnement est terminé.

    Le mot de passe de cet utilisateur n'est pas stocké ni sauvegardé par cegedim.cloud. Veillez à l'enregistrer dans votre propre coffre-fort.

    Surveillance

    Dans le cadre de notre offre de bases de données gérées, MariaDB fait l'objet d'une surveillance spécifique en plus du système sous-jacent afin de garantir la disponibilité et les performances du service.

    Les indicateurs clés suivants de MariaDB sont surveillés et suivis :

    • Nombre de connexions client interrompues

    • Nombre de tentatives de connexion au serveur ayant échoué

    • Nombre de connexions refusées en raison d'erreurs internes du serveur

    • Nombre maximal de connexions simultanées ouvertes

    PostgreSQL - Architecture

    Description

    PostgreSQL est actuellement le principal SGBDR (système de gestion de base de données relationnelle) open source, avec une large gamme de fonctionnalités et une grande communauté qui le soutient.

    cegedim.cloud fournit des instances de bases de données PostgreSQL entièrement gérées pour vous permettre de construire vos applications sans exploiter la disponibilité, la sécurité et la résilience des bases de données PostgreSQL.

    Architecture

    Versions prises en charge

    Les versions de PostgreSQL actuellement supportées sont : 10, 11, 12, 13, 14, 15, 16.

    Mise à jour

    Pour mettre à jour votre PaaS PostgreSQL, veuillez vous référer à cette page :

    Topologies

    cegedim.cloud prend en charge deux types de déploiements PostgreSQL :

    • Le mode Single Instance fournit une instance PostgreSQL standard.

    • Le mode Haute disponibilité fournit une instance PostgreSQL multi-instances, avec des capacités de résilience et d'évolutivité améliorées

    Régions

    PostgreSQL est disponible à la fois sur le centre de données de cegedim.cloud :

    • EB4 (Boulogne-Billancourt, France)

    • ET1 (Labège, France)

    Dans certains cas, lorsqu'un deuxième nœud est déployé (haute disponibilité), un centre de données secondaire proche peut également être utilisé pour assurer une résilience maximale :

    • EB5 (Magny-les-Hameaux, France)

    • ET2 (Balma, France)

    Résilience

    Dans le cas d'une topologie à haute disponibilité, le PaaS est construit de manière à être résilient au DC si possible.

    Ci-dessous, un exemple de répartition des nœuds :

    Diagramme de haute disponibilité

    Features

    Cette section énumère les fonctionnalités disponibles pour le client, ainsi que la manière de les demander ou de les exécuter :

    Fonctionnalité
    Libre-service
    Sur requête
    Commentaires

    Extensions

    Il est possible d'ajouter des fonctionnalités à PostgreSQL à travers ce qu'on appelle des extensions. Ces extensions peuvent ajouter de nouveaux types, des fonctions supplémentaires aussi bien pour les administrateurs que pour des utilisateurs "classiques", voire même des applications complètes.

    Certaines de ces extensions sont développées au sein même du projet PostgreSQL et suivent donc les évolutions des différentes version de PostgreSQL. Vous pouvez en trouver la liste .

    D'autres sont développées par des entreprises tierces et suivent leur propre rythme à l'instar de ou de pour ne citer que les plus connues.

    Une fois que le PaaS PostgreSQL 15 et supérieur a été provisionné, vous pouvez installer certaines de ces extensions à travers ITCare.

    Ci-dessous la liste des extensions supportées par le PaaS PostgreSQL à partir de la version 15:

    Attention l'installation de certaines extensions peut nécessiter un redémarrage de PostgreSQL et donc entrainer une indisponibilité de votre PaaS PostgreSQL.

    Sécurité

    Authentification

    Le client se voit attribuer un rôle dont il choisit le mot de passe.

    Le mot de passe de cet utilisateur n'est pas stocké ni sauvegardé par cegedim.cloud. Veillez à l'enregistrer dans votre propre coffre-fort.

    Autorisations

    Le rôle fourni au client dispose des autorisations suivantes :

    • LOGIN

    • CREATEROLE

    • CREATEDB

    Ainsi, le client peut créer un rôle d'application et des bases de données dédiées.

    Transport sécurisé

    Le transport sécurisé est une option lors du provisionnement et n'est disponible qu'à partir de la version 13.

    Si le transport sécurisé est sélectionné, TLS/SSL sera activé pour le protocole PostgreSQL et seule une connexion TLS des clients sera acceptée.

    Emplacement des données

    Toutes les données sont stockées dans les centres de données cegedim.cloud sur des baies de stockage cryptées.

    Mots de passe

    Cette section énumère la gestion des mots de passe :

    Mot de passe
    Stocké par cegedim.cloud
    Stocké par le client
    Enforcé
    Algorithme de Hash

    Sauvegarde

    Si la sauvegarde est activée lors du provisionnement (activée par défaut pour un service de type Production), les politiques de sauvegarde suivantes s'appliquent :

    PostgreSQL version 11 et inférieure
    PostgreSQL version 12 et supérieure

    Surveillance

    Dans le cadre de notre offre de bases de données gérées, PostgreSQL fait l'objet d'une surveillance spécifique au-dessus du système sous-jacent afin de garantir la disponibilité et les performances du service.

    Les indicateurs clés PostgreSQL suivants sont surveillés et suivis :

    • Connexions

    • Utilisation de la mémoire

    • Dépassement des IDs de transactions (TXID wraparround)

    • État de santé

    OpenSearchOpenSearch
    MariaDB FoundationMariaDB.org
    Removal of mapping types | Elasticsearch Guide [7.17] | ElasticElastic
    Breaking changesOpenSearch Documentation
    Changements de rupture
    opensearch | Fluentddocs.fluentd.org
    GitHub - uken/fluent-plugin-elasticsearchGitHub
    OpenSearch | Fluent Bit: Official Manualdocs.fluentbit.io
    Getting started with Fluent Bit and OpenSearchOpenSearch
    Assign Memory Resources to Containers and PodsKubernetes
    Assign CPU Resources to Containers and PodsKubernetes

    K8s - Architecture

    Il existe 3 topologies possibles pour le cluster K8s fourni par cegedim.cloud :

    • Standalone : les charges de travail sont déployées dans un seul centre de données sans plan de reprise après sinistre.

    • Standard : les charges de travail sont toujours déployées dans un seul centre de données, mais elles sont protégées contre un désastre du centre de données en utilisant un centre de données secondaire comme basculement.

    PostgreSQLPostgreSQL
    Redis - The Real-time Data PlatformRedis
    Kubernetes DocumentationKubernetes
    Welcome to Ceph — Ceph Documentationdocs.ceph.com
    PUT /_cluster/settings
    {
        "persistent":
        {
            "cluster.max_shards_per_node":<limite_shard_souhaitée>
         }
    }

    Les extensions PostgreSQL autorisées sont installables en libre service par les utilisateurs depuis ITCare à partir de la version 15 et supérieure. Autrement, une demande via ticket requête est toujours requise.

    pg_trgm
  • pgcrypto

  • postgis

  • tablefunc

  • timescaledb

  • unaccent

  • uuid-ossp

  • vector

  • postgres_fdw

  • oracle_fdw

  • compte cegedim.cloud

    SCRAM-SHA-256

    compte de surveillance

    SCRAM-SHA-256

    Libre-service

    Le client peut effectuer une action de manière autonome.

    Sur requête

    Le client peut demander que l'action soit effectuée auprès de l'équipe de support de cegedim.cloud.

    Accès SSH

    L'accès SSH est désactivé et réservé aux administrateurs de cegedim.cloud.

    Modifier le fichier de configuration

    Sur demande via un ticket. Seulement possible si cela n'affecte pas la surveillance et la résilience.

    Installer une extension

    compte client dédié

    SCRAM-SHA-256

    TOUT autre compte

    SCRAM-SHA-256

    Sauvegarde complète tous les jours conservée pendant 14 jours

    • Sauvegarde complète une fois par semaine.

    • Sauvegardes différentielles entre les deux.

    • Les journaux de type Write-ahead (WAL) sont archivés.

    Point-in-Time recovery prise en charge pendant 14 jours.

    PostgreSQL - Mise à jour
    ici
    Timescaledb
    Postgis
    btree_gist
    citext
    fuzzystrmatch
    hstore
    Déploiement haute disponibilité
    Diagramme de haute disponibilité
    Logo
    Logo

    requêtes lentes

    désactivé

    Les requêtes lentes ne sont pas enregistrées par défaut

    Libre service

    Le client peut effectuer des actions de manière autonome sur ses propres bases de données.

    Sur demande

    Le client peut demander à l'équipe de support de cegedim.cloud de prendre les mesures nécessaires.

    Accès SSH

    L'accès SSH n'est pas autorisé.

    Modifier le fichier de configuration de MariaDB

    Sur demande via un ticket. Revue par l'équipe de cegedim.cloud.

    Jeu de caractères

    utf

    Jeu de caractères par défaut de la base de données

    transaction_isolation

    READ-COMMITTED

    Type de transaction

    max_connexions

    1000

    Nombre maximum de connexions autorisées à l'instance

    innodb_buffer_pool_size

    50% de la RAM

    Réplication active/passive
    Cluster MariaDB Galera

    Mémoire tampon Innodb allouée à l'instance

    Haute disponibilité : les charges de travail sont déployées dans deux centres de données et aucune interruption des services en cas de sinistre du centre de données ne peut être obtenue avec un déploiement multi-réplica correctement distribué.

    Topologies

    Topologie de calcul

    cegedim.cloud fournit une topologie de calcul basée sur :

    • Région : une paire de centres de données

    • Area : isolation du réseau d'infrastructure entre les locataires

    • Zones de disponibilité : à l'intérieur d'une zone, infrastructure isolée pour le calcul et le stockage.

    Topologie de calcul

    Topologies des clusters Kubernetes

    Les clusters Kubernetes peuvent être déployés à l'aide de 2 topologies :

    Topologies
    Centre de données des masters
    Centre de données des workers
    Zones de disponibilité des workers
    Zones de disponibilité du cluster
    Protection reprise après sinistre
    Recovery Time Objective (RTO)

    Standard

    1

    1

    2

    2

    4h

    En fonction de vos exigences en termes de RTO et de coûts, vous pouvez choisir la topologie la mieux adaptée à vos besoins.

    Disponibilité des topologies

    Topology
    EB-EMEA
    EB-HDS
    ET-EMEA
    ET-HDS

    Standard

    High Availability

    Pour plus de détails sur la topologie de haute disponibilité, veuillez suivre cette page : Haute Disponibilité

    Clés de topologie

    cegedim.cloud utilise des clés topologiques standard :

    Clé
    Composant

    topology.kubernetes.io/region

    Région

    topology.kubernetes.io/zone

    Zone de disponibilité

    kubernetes.io/hostname

    FQDN du noeud

    Depuis Kubernetes > 1.20, failure-domain.beta.kubernetes.io/zone est obsolète mais reste disponible en cas de préexistence. Seul topology.kubernetes.io/zone sera officiellement maintenu.

    Composants et versions

    Voici la liste des composants et des outils qui sont déployés dans un cluster standard livré :

    Composants
    Versions

    Rancher

    2.11.2

    Kubernetes

    1.32

    Ingress controllers

    ingress-nginx 1.12.1, traefik 3.3.4, istio 1.24.1

    Prometheus

    2.53.1

    Grafana

    11.1.0

    Helm

    3.17.0

    Architecture réseau

    Voici un schéma avec tous les composants du réseau expliqués :

    • Deux pods de 2 namespaces appartenant au même projet Rancher peuvent communiquer entre eux.

    • Deux pods de 2 namespaces appartenant à deux projets Rancher différents ne peuvent pas communiquer entre eux à moins que l'utilisateur ne définisse une Network Policy dédiée à ce besoin.

    • Les pods d'un projet Rancher nommé System peuvent communiquer avec les pods d'autres projets Rancher.

    • Les pods ne peuvent envoyer des requêtes qu'aux serveurs du même VLAN, à moins qu'une règle d'ouverture de réseau spécifique ne soit configurée entre les deux VLANs.

    • Les pods ne peuvent pas envoyer de requêtes à Internet à moins qu'un proxy ne soit configuré à l'intérieur du pod ou qu'une règle d'ouverture de réseau spécifique ne soit configurée pour le VLAN concerné.

    Flux entrants

    • Les requêtes vers le serveur api kube peuvent faire l'objet d'une proxy inverse par l'URL Rancher.

    • La charge de travail hébergée par les pods ne peut pas être directement accessible depuis l'extérieur du cluster K8S, mais via une couche d'entrée pour le protocole HTTP ou via un service NodePort pour le protocole TCP avec un équilibreur de charge respectif.

    Ingress Controller : nginx

    nginx est l'ingress controller déployé pour exposer vos workloads. Vous pouvez trouver la documentation pertinente sur le Github officiel à l'adresse :

    Deux ingress controllers sont déployés :

    • Un exposé au réseau interne de Cegedim

      • ingress controller nginx

      • écoute sur chaque nœud de travail sur le port :80

      • il s'agit de la classe d'entrée par défaut (aucune classe d'entrée ne doit être spécifiée).

    • Un exposé à internet

      • nginx ingress controller - vous pouvez demander à avoir un ingress controller externe pour nginx.

      • écoute de chaque nœud de travail sur le port : 8081

      • cette ingress classe est : nginx-ext

    Équilibrage de charge, DNS et certificats

    Un cluster K8s est livré avec :

    • Un Elastic Secured Endpoint, géré par des appliances F5, exposant la charge de travail K8s au réseau interne de Cegedim (une fois que vous êtes connecté au LAN de Cegedim, soit physiquement, soit par VPN).

    • Une résolution DNS *.<votreclustername>.ccs.cegedim.cloud vers ce point d'accès.

    • Un certificat SSL *.<votreclustername>.ccs.cegedim.cloud configuré

    Demande de configuration spécifique

    Vous pouvez utiliser ITCare en cas de besoin d'une configuration spécifique :

    • Exposition de vos charges de travail à l'Internet ou à un lien privé

    • Utilisation d'un FQDN spécifique pour déployer votre charge de travail

    • Utilisation d'un certificat spécifique pour déployer votre charge de travail

    • Utilisation de Traefik comme fournisseur d'intrusion au lieu de nginx

    • Ajout d'autres fournisseurs d'entrée

    • Accès aux ressources en dehors du cluster

    Hardening des clusters

    Pour plus d'informations concernant le hardening de Kubernetes, nous vous invitons à consulter cette page : Hardening

    Stockage persistant

    Pour plus d'informations sur la solution de stockage persistant disponible pour cegedim.cloud de cegedim.cloud, veuillez suivre cette page : Stockage Persistant

    Logo
    Logo
    Elasticsearch | Fluent Bit: Official Manualdocs.fluentbit.io
    Logo

    PostgreSQL - Didacticiels

    Comment provisionner un PaaS PostgreSQL ?

    Pour commencer, rendez-vous sur ITCare et recherchez votre service global cible où vous créerez votre nouveau PostgreSQL.

    Recherchez votre service Global dans la barre de recherche supérieure et cliquez dessus pour afficher sa page d'information.

    Une fois dans votre Service Global, cliquez sur le bouton Créer une ressource et sélectionnez PostgreSQL.

    Aller sur Bases de données managées, choisir PostgreSQL et sélectionner la version requise.

    Remplir le formulaire et cliquer sur Suivant. Définir les personnalisations et cliquer sur Suivant.

    Valider la synthèse et soumettre le formulaire.

    Le provisionnement peut prendre jusqu'à 2 heures en fonction de la charge actuelle de l'automatisation.

    Une fois le déploiement prêt, vous en serez informé par e-mail.

    Comment gérer votre PostgreSQL ?

    Sur la page de ressources de votre PostgreSQL, vous pouvez effectuer toutes les actions disponibles en utilisant le bouton Gérer dans le coin supérieur droit. Cela inclut le démarrage, l'arrêt, la suppression, le redémarrage, le redimensionnement et bien plus encore.

    Comment accéder à votre cluster PostgreSQL ?

    Lorsque votre cluster est créé avec ITCare, vous avez obtenu un rôle sql avec des informations d'identification.

    Avec ces informations d'identification, vous pouvez vous connecter au cluster avec son nom sur le port tcp 5432. Vous pouvez utiliser la base de données postgres pour vous connecter.

    Si votre cluster s'appelle "mycluster" vous pouvez utiliser le code python suivant :

    Comment accéder à votre cluster PostgreSQL avec TLS/SSL ?

    Lorsque votre cluster est créé avec ITCare, vous avez obtenu un rôle sql avec des informations d'identification.

    Si vous choisissez d'activer TLS, vous avez reçu le certificat racine auquel vous devez faire confiance et que vous devez donner à la bibliothèque que vous utilisée pour vous connecter, par exemple psycopg2.

    Avec ces informations d'identification, vous pouvez vous connecter au cluster avec son nom sur le port tcp 5432. Vous pouvez utiliser la base de données postgres pour vous connecter.

    Si votre cluster s'appelle "mycluster" vous pouvez utiliser le code python suivant :

    Comment créer un rôle ?

    Il est plus sûr de ne pas utiliser un rôle d'administrateur pour les applications. Une fois connecté, vous pouvez créer un rôle standard comme suit (remplacez <a_role> et <very_strong_password> par vos propres informations d'identification) :

    Comment créer une base de données ?

    Si vous voulez créer une base de données dont le propriétaire sera le rôle que vous venez de créer, utilisez les requêtes SQL suivantes :

    Comment créer une base de données avec un autre encodage et/ou collation ?

    Vous pouvez utiliser les requêtes SQL suivantes avec la base de données template0 comme base de données template :

    Comment restaurer en libre-service ?

    Le PaaS PostgreSQL dispose d'une fonctionnalité permettant de restaurer un PaaS PostgreSQL (source) vers un autre PaaS PostgreSQL (destination) à un moment donné (en utilisant le Point-In-Time Recovery) sous les contraintes suivantes :

    • l'utilisateur doit avoir accès au cloud de la ferme source et de la ferme de destination

    • la source doit être sauvegardée (option choisie lors de la création)

    • la source et la destination doivent être actives

    • la source et la destination doivent être différentes

    Vous pouvez choisir d'inclure ou d'exclure la cible temporelle dans le processus de restauration.

    Comment installer l'extension oracle_fdw ?

    Vous pouvez installer l'extension oracle_fdw sur vos bases de données. Cette extension vous permet de vous connecter à un déploiement PostgreSQL et de lire/écrire des tables situées réellement dans un serveur Oracle. Pour ce faire, à l'aide d'ITCare, utiliser le menu Gérer puis Gérer les extensions, choisissez votre base de données, puis oracle_fdw et cliquer sur le bouton Soumettre. On rappelle que selon les bonnes pratiques, vous avez créé un rôle et une base de données dédiée:

    Une fois l'extension installée vous devez créer plusieurs objets dans la base de donnée. Vous devez disposez des éléments suivants pour réaliser cette opération:

    • l'identifiant et le mot de passe du compte (admin) qui vous ont été communiqués lors de la création de votre déploiement PostgreSQL.

    • le role qui se connectera à la base de données PostgreSQL et qui accédera à la base de données Oracle

    • le SID de la base Oracle

    • l'identifiant et le mot de passe du rôle qui le droit de se connecter à la base de données Oracle et qui a le droit de lire/écrire les tables considérées.

    Pour la suite de l'exemple, on supposera que sous Oracle, une table a été créée comme suit:

    En utilisant votre compte admin sur la base de données customer, vous devez créer une correspondance entre votre serveur Oracle, la base de données Oracle et le rôle Oracle (rôle qui par exemple aura créé la table person)

    Enfin, avec le rôle myrole, connecté à la base de données customer (dans PostgreSQL):

    En cas d'erreur lors de la déclaration des correspondances entre le serveur et le rôle Oracle, le rôle admin peut faire les modifications suivantes:

    La documenration de l'extension oracle_fdw est accessible .

    Comment installer l'extension postgres_fdw ?

    Vous pouvez installer l'extension postgres_fdw sur vos bases de données. Cette extension vous permet de lire/écrire des tables se situant dans un autre déploiement PostgreSQL. Pour ce faire, à l'aide d'ITCare, utiliser le menu Gérer puis Gérer les extensions sur votre déploiement pg16, choisissez votre base de données, puis postgres_fdw et cliquer sur le bouton Soumettre. On rappelle que selon les bonnes pratiques, vous avez créé un rôle et une base de données dédiée sur chacun des déploiements PostgreSQL:

    Sur le serveur pg15 en version 15 par exemple (pg15.pg.cegedim.cloud)

    Sur le serveur pg16 (pg16.pg.cegedim.cloud):

    Avec le rôle admin sur la base de données customer du déploiement pg16, créer les correspondances avec le serveur pg15 et le rôle rolea:

    Avec le rôle roleb sur le déploiement pg16, base de données customer, importer la définition de la table mytable:

    Démo

    Restauration d'une base de données PostgreSQL

    Le processus de restauration d'une base de données PostgreSQL est une étape importante. Voyons comment procéder ci-dessous :

    GitHub - kubernetes-csi/external-snapshotter: Sidecar container that watches Kubernetes Snapshot CRD objects and triggers CreateSnapshot/DeleteSnapshot against a CSI endpoint.GitHub
    Logo
    GitHub - doitintl/kube-no-trouble: Easily check your clusters for use of deprecated APIsGitHub
  • en utilisant l'annotation : kubernetes.io/ingress.class:"nginx-ext"

  • Haute Disponibilité

    3

    2

    3

    4

    0 - 5 min

    CSI Ceph

    3.14.0

    Node OS

    Ubuntu 22.04

    CNI - canal (Calico+Flannel)

    3.29.0

    Docker

    27.1.2

    la source et la destination doivent être dans la même version de PostgreSQL

  • la source et la destination doivent être en version 12 ou supérieure

  • l'heure cible ne doit pas être dans le futur (délimitée à droite par l'heure actuelle).

  • l'heure cible ne doit pas être inférieure à 7 jours (pour les services de non-production) ou à 14 jours (pour les services de production) avec pour référence l'heure actuelle (délimitée à gauche par la rétention des sauvegardes).

  • le nom et la définition des tables Oracle

    ici
    Logo

    Débuter avec ITCare

    Comment puis-je me connecter à ITCare ?

    Il n'est pas possible de créer son propre compte ITCare pour accéder à la plateforme.

    Pour obtenir un compte ITCare, le représentant de la sécurité de votre organisation doit soumettre une demande de création de compte.

    Comment puis-je demander un compte ITCare ?

    Veuillez contacter votre Service Delivery Management ou l'équipe commerciale de cegedim.cloud.

    Comment l'authentification ITCare est-elle gérée ?

    L'authentification ITCare est basée sur une adresse e-mail et un mot de passe conformes aux normes de la politique de sécurité de cegedim.cloud.

    Les comptes API utilisent le protocole OpenID. Plus d'informations sur l'API ITCare sont disponibles dans la page API ITCare.

    L'authentification multi-facteurs est-elle disponible ?

    L'authentification multi-facteurs est disponible et obligatoire pour certaines actions à haut privilège.

    Au cours du processus d'intégration, vous recevrez toutes les informations nécessaires pour configurer correctement l'authentification multifactorielle.

    Quels sont les privilèges possibles dans ITCare ?

    Les privilèges dans ITCare sont divisés en rôles assignés à des profils. Les profils sont attribués aux utilisateurs.

    Les rôles

    Rôles
    Description

    Le MFA doit être configuré et sera obligatoire pour les rôles suivants :

    • Gérer les maintenances

    • Modifier les ressources

    Les profils

    Profils
    Voir les ressources
    Gérer les maintenances
    Modifier les ressources
    Gérer les ressources

    Matrice de privilèges

    Ce tableau non exhaustif décrit les actions basiques autorisées par profil :

    Fonctionnalités
    Label
    Disponible pour

    Que sont les Régions et Zones de disponibilité ?

    La topologie de la plateforme d'hébergement cegedim.cloud est divisée en :

    • Régions : un groupe de centre de données à faible latence ( < 1 ms)

    • Zones de disponibilité : ensemble de composants d'infrastructure dédiés dans un centre de données

    Quelles sont les régions disponibles ?

    Voici la liste des régions disponibles pour nos clients :

    Régions
    Description
    Centre de données

    Quelles sont les zones de disponibilité disponibles ?

    Région EB

    Zone de disponibilité
    Description
    Centre de données

    Région ET

    Zone de disponibilité
    Description
    Centre de données

    Qu'est-ce qu'une ressource ITCare ?

    Une ressource est un composant d'infrastructure ou middleware déployé dans le cloud de cegedim.cloud.

    Elle ne peut appartenir qu'à un seul Service. Voir pour la définition d'un Service.

    Une ressource est systématiquement définie par les propriétés suivantes :

    • un id : identifiant unique de la ressource.

    • un type : le type de la ressource e.g. instance virtuelle, cluster Kubernetes, etc..

    • un nom : plus pratique à manipuler qu'un id.

    Quels sont les statuts possibles pour les ressources ?

    Voici les statuts possibles d'une ressource qui sont visibles par la web UI ou renvoyés par l'API :

    Statut
    Description
    Code API

    Comment mes ressources ITCare sont-elles organisées ?

    Tout client cegedim.cloud possède une Organisation qui matérialise son existence au sein de notre SI.

    Plusieurs Clouds peuvent être créés au sein d'une Organisation. Ceux-ci permettent de cloisonner les ressources et les droits utilisateurs.

    Par défaut, un seul Cloud est défini pour une nouvelle Organisation. Des Clouds supplémentaires peuvent être créés sur demande.

    Vous pouvez donc définir, au niveau d'un Cloud, qui a accès à quoi et quelles actions peuvent être réalisées. Il est donc possible, par exemple, d'avoir un Cloud offrant pleins pouvoirs à vos équipes de développement pour ne pas perturber la production.

    Au sein d'un Cloud, les ressources sont ensuite regroupées dans des Services.

    Les Services permettent de regrouper vos ressources de manière logiques selon plusieurs critères libres :

    • Le périmètre d'une application

    • Par environnement

    • Tout autre critère libre : par client par exemple

    Les Services ne permettent pas d'appliquer des restrictions des droits utilisateurs.

    Dans ITCare, les Services ont des pages dédiées qui permettent de consulter aisément l'ensemble des ressources qui leur est attaché.

    Haute Disponibilité

    Ce guide présente l'ensemble des éléments de configuration nécessaires pour améliorer la disponibilité et la continuité de service de vos applications déployées dans un cluster Kubernetes managés par cegedim.cloud.

    Il s'agit d'un guide indispensable pour que votre stratégie de reprise après sinistre réponde aux exigences de cegedim.cloud.

    Comment configurer les déploiements pour tirer parti des capacités HA ?

    Une fois votre cluster Kubernetes configuré pour fonctionner selon la topologie de haute disponibilité (HA), certaines bonnes pratiques de configuration sont nécessaires pour permettre à vos applications :

    • pour fonctionner de façon simultanée sur tous les centres de données de la région.

    • de disposer d'une capacité suffisante dans tous les centres de données en cas de catastrophe sur l'un d'entre eux

    Configuration du déploiement

    Pour rappel, les nœuds des clusters Kubernetes sont répartis dans 3 zones de disponibilité (AZ) et 2 centres de données :

    • AZ "A" et "B" fonctionnent sur le centre de données primaire.

    • AZ "C" fonctionne sur le centre de données secondaire.

    Nombre de répliques

    Pour les services sans état qui prennent en charge la mise à l'échelle, la meilleure pratique consiste à faire fonctionner au moins trois pods :

    Anti-affinité

    Ces 3 pods doivent être correctement configurés pour qu'au moins un pod fonctionne sur chaque zone de disponibilité :

    Nous utilisons preferedDuringSchedulingIgnoredDuringExecution et non requiredDuringSchedulingIgnoredDuringExecution car nous voulons que cette exigence soit "souple" : Kubernetes permettra alors de programmer plusieurs pods sur la même AZ si vous exécutez plus de répliques que d'AZ, ou en cas de défaillance d'une zone.

    Dans kube 1.20, failure-domain.beta.kubernetes.io/zone sera déprécié, la nouvelle clé de topologie sera topologie.kubernetes.io/zone

    Contraintes d'étalement pour les pods

    Comment dimensionner votre cluster HA ?

    Si vous utilisez la topologie de cluster haute disponibilité, votre objectif est de déployer des applications résilientes en cas de panne du centre de données.

    Cette page décrit quelques bonnes pratiques pour déterminer le dimensionnement des nœuds de travail pour chaque zone de disponibilité où vos charges de travail sont exécutées.

    Réfléchir au "pire des scénarios".

    Pour rappel, Kubernetes Cluster est déployé dans 3 zones de disponibilité, et 2 centres de données. Dans le pire des cas, une seul zone de disponibilité fonctionnera si le centre de données primaire subit un sinistre majeur.

    C'est l'hypothèse à prendre en compte pour déterminer le dimensionnement "nominal", que l'on peut appeler "Si le centre de données primaire tombe en panne, de quelle capacité de CPU / RAM ai-je besoin pour continuer à faire fonctionner mon application ?".

    Définir la capacité nominale

    Comprendre vos besoins

    Pour déterminer cette capacité, puis les nœuds de travail déployés dans la zone de disponibilité "C" (combien, et avec quelles ressources), vous aurez besoin de 3 paramètres :

    Paramètre
    Description

    Calculer le dimensionnement

    Vous avez alors deux possibilités pour calculer la taille :

    • Au niveau de la granularité "Cluster Level": si vous débutez le processus et que vos charges de travail ne sont pas aussi complexes ou variables, utilisez cette option :

      • Déterminer un MBCO global pour les déploiements croisés

      • Additionner toutes les demandes de ressources des pods pour obtenir un numéro unique.

    Le calcul au "niveau de cluster" n'est pas assez précis pour être absolument certain que le cluster sera d'une taille appropriée. Il suffit de le savoir et d'évaluer si cela vaut la peine de prendre le risque.

    Dans tous les cas, ce dimensionnement doit être réévalué régulièrement, en fonction des nouveaux déploiements ou des redimensionnements que vous effectuez dans vos opérations quotidiennes.

    Utilisation de la granularité au niveau des clusters

    Si vous avez additionné toutes les demandes et l'utilisation, et que vous avez déterminé le MBCO au niveau du "cluster", vous pouvez utiliser cette formule simple pour calculer le dimensionnement requis pour l'AZ "C" dans le centre de données secondaire :

    Utilisation de la granularité "Pod

    Si vous avez déterminé un MBCO par déploiement, vous devrez calculer votre dimensionnement avec une formule plus complexe :

    Ajustez vos descripteurs de déploiement

    Une fois que vous avez calculé votre MBCO, il est important de tirer parti des capacités de Kubernetes (QoS, notamment PodDisruptionBudget) pour que votre déploiement suive votre décision.

    Ajustez la taille de votre groupe

    Utilisez ITCare ou demandez l'aide de notre support pour dimensionner votre cluster.

    Comment utiliser la QoS et la disponibilité garantie de Kubernetes ?

    Au cours de cette phase, vous devrez hiérarchiser vos actifs et définir les composants qui sont essentiels à la disponibilité de vos services.

    connaître l'utilisation de vos ressources, une fois le déploiement effectué, il est bon d'observer la consommation de ressources de votre charge de travail.

    vous pouvez accéder à vos métriques via l'interface utilisateur de rancher ou via un client comme .

    Qualité du service

    Dans Kubernetes il y a 3 classes de QoS :

    • Garantie

    • Burstable

    • BestEffort

    Pour les charges de travail critiques, vous pouvez utiliser la QOS "garantie", qui définit simplement les limites de ressources égales aux demandes de ressources :

    Pour les charges de travail moins critiques, vous pouvez utiliser le QOS "Burstable", qui définira les limites de ressources et les demandes.

    Budget pour la perturbation des pods

    Le budget de perturbation des pods vous permettra de configurer votre tolérance aux pannes et le nombre de pannes que votre application peut supporter avant d'être indisponible.

    Stateless

    Avec une charge de travail sans état, l'objectif est d'avoir un nombre minimum de pods disponibles à tout moment, pour ce faire vous pouvez définir un simple budget de perturbation des pods :

    Stateful

    Avec une charge de travail à état, le but est d'avoir un nombre maximum de pods indisponibles à tout moment, afin de maintenir le quorum par exemple :

    Horizontal Pod Autoscaler

    Scénarios de trafic élevé :

    Redis - Architecture

    Redis est déployable en self-service via notre outil de gestion de plateforme cloud : ITCare.

    Topologies

    Deux topologies sont disponibles :

    • Instance autonome

    • Cluster Sentinel

    Dans les deux cas, vous pouvez choisir de faire persister ou non les données sur le disque lors de la demande de création, voir .

    Instance autonome

    L'instance autonome, une fois déployée, est accessible sur le port d'écoute 6379.

    Cluster Sentinel

    Le cluster Redis Sentinel est déployé sur 3 instances répartis sur toutes les Zones de disponibilité d'une Area.

    Le cluster, une fois déployé, est accessible sur le port d'écoute 6379.

    Particularités en mode cluster

    • Chaque instance exécute les processus Redis et Sentinel

    • Port d'écoute Sentinel : 26379

    • Sur les 3 instances, l'une d'elle est primaire et les deux autres sont des répliques

    • Les répliques sont ouvertes en lecture seule

    Persistance

    La persistance fait référence à l'écriture de données sur un support durable, tel qu'un disque SSD (solid-state disk). Redis propose une série d'options de persistance.

    • RDB (Redis Database) : La persistance RDB réalise des instantanés ponctuels de votre ensemble de données à des intervalles spécifiés.

    • AOF (Append Only File) : La persistance AOF enregistre chaque opération d'écriture reçue par le serveur. Ces opérations peuvent ensuite être rejouées au démarrage du serveur, reconstituant ainsi l'ensemble de données d'origine. Les commandes sont enregistrées dans le même format que le protocole Redis lui-même.

    • Pas de persistance : Vous pouvez désactiver complètement la persistance. Cette option est parfois utilisée pour la mise en cache.

    Scénario
    Paramètrage

    Résilience

    Si l'instance primaire tombe en panne, une réplique sera automatiquement promue en tant que nouveau primaire. La réplique sera reconfigurée automatiquement pour suivre le nouveau primaire.

    Sentinel fournit les informations concernant l'instance primaire et les instances répliques.

    Fonctionnalités

    Cette section énumère les fonctionnalités disponibles pour le client, ainsi que la manière de les demander ou de les exécuter :

    Fonctionnalités
    Libre service
    Sur demande
    Commentaires

    Diagramme de haut niveau

    Configuration

    Configuration du produit

    Paramètre
    Valeur personnalisée
    Enforcé
    Commentaires

    Si la persistance AOF est active, les paramètres suivants seront appliqués :

    Paramètre
    Valeur personnalisée
    Enforcé

    si RDB est actif, les paramètres suivants seront appliqués :

    Paramètre
    Valeur personnalisée
    Enforcé

    Configuration Kernel

    Les paramètres noyau suivants ont été modifiés afin d'optimiser les performances du système d'exploitation pour Redis :

    • vm.overcommit_memory = 1

    • vm.swappiness = 1

    • net.core.somaxconn = 65535

    Sécurité

    Authentification

    Le mode d'authentification utilisé est le mode interne : Redis 6 ACL.

    Les mots de passe sont hashés avec SHA-256 et n’apparaissent pas en clair dans le fichier ACL.

    Autorisations

    Les ACL de Redis 6 sont utilisées pour gérer les autorisations.

    Sur Sentinel, le compte client dédié a les droits sur :

    Sur Redis, le compte client dédié a les droits sur :

    Transport sécurisé

    Le client peut choisir d'activer le non le transport TLS lors de la demande de création en libre-service via ITCare.

    Mots de passe

    Cette section énumère la gestion des mots de passe :

    Mot de passe
    Stocké par cegedim.cloud
    Stocké par le client
    Enforcé
    Algorithme de hash

    Surveillance

    Les éléments suivants sont surveillés et sont accessibles dans ITCare.

    Alertes
    Description

    SQL Server - Architecture

    Architecture

    Topologies

    Deux topologies sont disponibles :

    • Instance autonome

    • Cluster AlwaysOn

    Always On - Topology

    La configuration du cluster Always On repose sur une topologie à 3 nœuds :

    Nœuds actifs

    • Deux nœuds situés sur le même site.

    • Ces nœuds sont configurés pour partager la charge ou être en basculement automatique en cas de défaillance.

    • Une règle d'anti-affinité garantit que les nœuds actifs ne cohabitent pas sur le même hôte hyperviseur, renforçant ainsi la résilience.

    Nœud passif

    • Localisé sur un site secondaire pour assurer la reprise après sinistre (DRP).

    • Ce nœud ne traite aucune requête active et est réservé uniquement au basculement en cas de défaillance des nœuds actifs.

    Règles et restrictions du nœud passif

    Le nœud passif est soumis à des restrictions strictes pour respecter les règles de licence Microsoft License Mobility with Failover Rights :

    • Aucune charge active : Le nœud passif ne peut pas exécuter de requêtes SQL, de rapports ou de charges de travail utilisateur.

    • Opérations autorisées :

      • Vérifications de la cohérence des bases de données.

      • Sauvegardes complètes et des journaux de transactions.

    Avantages de l'Always On

    • Tolérance aux pannes : La réplication synchronisée garantit que les données sont disponibles en temps réel sur les nœuds actifs.

    • Reprise après sinistre (DRP) : Le déploiement d'un nœud passif sur un site secondaire renforce la sécurité et la continuité des activités.

    • Maintenance simplifiée : Les basculements planifiés permettent d'effectuer des mises à jour ou des interventions techniques sans interruption de service.

    Supervision et conformité

    Une supervision spécifique adaptée au cluster Always On est en place pour :

    • Garantir que les restrictions liées au nœud passif sont respectées.

    • Surveiller les performances et les basculements automatiques.

    • Prévenir les risques de non-conformité avec les règles de licence.

    Régions

    SQL Server est disponible dans les centres de données de cegedim.cloud dans les régions suivantes :

    • EB4 - Boulogne-Billancourt, France

    • ET1 - Labège, France

    Dans le cadre de la topologie AlwaysOn, un nœud inactif est automatiquement déployé dans un site secondaire proche pour renforcer la résilience du cluster :

    • EB5 (Magny-les-Hameaux, France)

    • ET2 (Balma, France)

    Hébergement et Versions

    Hébergement
    Version
    OS
    Edition

    Système de fichiers

    Disposition du système de fichiers pour le PaaS SQL Server de cegedim.cloud :

    Disque
    Label
    Taille par défaut
    Description

    Restriction du nom de la machine virtuelle

    En raison des préfixes appliqués aux objets Active Directory, le nom de la machine virtuelle provisionnée est limité à 13 caractères maximum pour un PaaS SQL Server.

    Ports

    Liste des ports :

    Ports
    Description
    Protocol

    Seuls les ports de l'écouteur SQL Server et du navigateur SQL Server sont ouverts en entrée dans le pare-feu Windows par défaut et appliqués via une GPO sur l'unité organisationnelle.

    Modules installés

    Liste des modules installés par défaut lors de la provision :

    • Moteur de base de données

    • Réplication

    • Recherche en texte intégral

    • Connectivité des outils client

    Fonctionnalités

    Cette section vise à répertorier les fonctionnalités/capacités disponibles pour le client, et comment les demander/exécuter :

    Fonctionnalités
    Libre-service
    A la demande
    Commentaires

    Sécurité

    Connexion système

    Le PaaS SQL Server fonctionne exclusivement dans un environnement Windows. La méthode standard de connexion à l'instance est le RDP (Remote Desktop Protocol).

    Pour vous connecter à la machine virtuelle, vous devez disposer des privilèges requis au niveau du domaine ou au niveau de la machine locale.

    Connexion à l'instance

    L'authentification est configurée par défaut en mode mixte, ce qui offre deux types de connexion :

    • Connexion SQL Server: au niveau de l'instance

    • Utilisateur Active directory: au niveau du domaine - Authentification Windows intégrée

    La connexion à l'instance est disponible localement ou à distance :

    • Localement : une fois connecté en RDP, lancez le SQL Server Management Studio local

    • A distance: lancez le SQL Server Management Studio et spécifiez l'instance cible Localement

    Localement

    SSMS peut utiliser les informations d'identification de l'utilisateur Windows avec lequel vous êtes déjà connecté via RDP pour vous connecter à l'instance SQL Server.

    L'authentification avec un login SQL est également possible localement.

    A distance

    Spécifiez une instance cible dans le champ du nom du serveur en imposant le protocole : tcp:HOSTNAME\INSTANCENAME

    Sélectionnez simplement "SQL Server Authentication" et fournissez le login SQL avec le mot de passe associé.

    Autorisations

    Les autorisations pour cegedim.cloud sont gérées par GPO.

    Autorisation et mots de passe

    Cette section répertorie la gestion des mots de passe pour le PaaS SQL Server :

    Mot de passe
    Stocké par cegedim.cloud
    Stocké par le client
    Enforcé

    Clients

    Les autorisations pour les clients sont gérées par les clients eux-mêmes.

    Le client qui demande une instance SQL Server via ITCare sera automatiquement autorisé à se connecter à l'instance. Il peut accorder l'accès à tout utilisateur ou groupe Active Directory.

    Patching

    Les patchs sont installés lors des "Patch parties" gérées par cegedim.cloud tous les trimestres. Une instance peut être patchée manuellement exceptionnellement si la sécurité ou la correction de bugs l'exige.

    Localisation des données

    Les données pour le PaaS SQL Server de cegedim.cloud sont stockées sur les machines virtuelles dédiées créées lors de la demande d'un PaaS. Ces machines virtuelles et le stockage associé sont hébergés et gérés dans les propres centres de données de cegedim.cloud.

    https://mariadb.com/kb/en/release-notesmariadb.com
    MariaDB Documentationmariadb.com
    What is MariaDB Galera Cluster? | Galera Cluster | MariaDB Documentationmariadb.com
    import psycopg2
    
    # Connect to the postgres database
    conn = psycopg2.connect(database='postgres', user='myuser', password='mystrongpwd',host='mycluster.pg.cegedim.cloud')
    # Open a cursor to perform database operations
    cursor = conn.cursor()
    # Execute a query
    cursor.execute("SELECT datname from pg_database")
    # Retrieve query results
    records = cursor.fetchall()
    # Print all results
    for record in records:
      print(record)
    import psycopg2
     
    # Connect to the postgres database
    conn = psycopg2.connect(database='postgres', user='myuser', password='mystrongpwd', host='mycluster.pg.cegedim.cloud', sslmode='verify-full', sslrootcert='cegedimcloud.pg.crt')
    # Open a cursor to perform database operations
    cursor = conn.cursor()
    # Execute a query
    cursor.execute("SELECT datname from pg_database")
    # Retrieve query results
    records = cursor.fetchall()
    # Print all results
    for record in records:
      print(record)
    create role <a_role> login password '<very_strong_password>';
    grant <a_role> to admin;
    create database <my_database> owner <a_role>;
    create database <my_database> owner <a_role> template template0 LC_COLLATE 'fr_FR.utf8';
    create database <my_database> owner <a_role> template template0 encoding 'LATIN1' LC_COLLATE 'fr_FR';
    create role myrole login;
    alter role myrole password '********';
    grant myrole to admin;
    create database customer owner myrole;
    CREATE TABLE person (
      id NUMBER(10, 0) PRIMARY KEY,
      name VARCHAR2(64),
      ts TIMESTAMP
    );
    CREATE SERVER oracle_server FOREIGN DATA WRAPPER oracle_fdw OPTIONS (dbserver '//myora.hosting.cegedim.cloud:1521/mysid');
    CREATE USER MAPPING FOR myrole SERVER oracle_server OPTIONS (user 'orauser', password 'mypwd');
    GRANT USAGE on foreign server oracle_server to myrole;
    CREATE FOREIGN TABLE person (
        id BIGINT OPTIONS (key 'true') NOT NULL,
        name VARCHAR(64),
        ts TIMESTAMP WITHOUT TIME ZONE
    )
    SERVER oracle_server
    OPTIONS (table 'PERSON');
    select * from person;
     id |   name    |             ts            
    ----+-----------+----------------------------
      0 | Asterix   | 2025-10-08 09:17:26.591058
      1 | Obelix    | 2025-10-08 09:17:34.893623
      2 | Panoramix | 2025-10-08 09:17:47.758639
      3 | Idefix    | 2025-10-08 09:17:58.063794
    (4 rows)
    -- modifier à posteriori le foreign server si on s'est trompé dans un paramètre
    alter server oracle_server OPTIONS (SET dbserver '//so19cust03.hosting.cegedim.cloud:1521/SO19CUSTO3');
    -- modifier un user mapping
    ALTER USER MAPPING FOR myrole SERVER oracle_server OPTIONS (SET password 'leBonPassWord');
    create role rolea login;
    alter role rolea password '***********';
    grant rolea to admin;
    create database mydb owner rolea;
    \c mydb
    CREATE TABLE mytable (
        id INTEGER PRIMARY KEY,
        ts TIMESTAMP WITH TIME ZONE DEFAULT NOW()
    );
    alter table mytable owner rolea;
    insert into mytable values(0);
    insert into mytable values(1);
    insert into mytable values(2);
    insert into mytable values(3);
    select * from mytable;
     id |              ts              
    ----+-------------------------------
      0 | 2025-10-07 09:00:47.607772+00
      1 | 2025-10-07 09:00:50.998144+00
      2 | 2025-10-07 09:00:53.639238+00
      3 | 2025-10-07 09:00:56.134559+00
    (4 rows)
    create role roleb login;
    alter role roleb password '**********';
    grant roleb to admin;
    create database customer owner roleb;
    create server pg15 foreign data wrapper postgres_fdw options (host 'pg15.pg.cegedim.cloud', dbname 'mydb');
    create user mapping for roleb server pg15 options(user 'rolea', password '******'); -- utiliser le mot de passe du rôle rolea du serveur pg15
    grant usage on foreign server pg15 to roleb;
    -- importer la définition de la table mytable de pg15
    IMPORT FOREIGN SCHEMA public LIMIT TO (mytable) FROM SERVER pg15 INTO public;
    -- la table est désormais accessible :
     select * from mytable;
     id |              ts              
    ----+-------------------------------
      0 | 2025-10-07 09:00:47.607772+00
      1 | 2025-10-07 09:00:50.998144+00
      2 | 2025-10-07 09:00:53.639238+00
      3 | 2025-10-07 09:00:56.134559+00
    (4 rows)

    Gérer les ressources

    Operator (OPE)

    Power (POW)

    resize-compute-instance

    OPE

    delete-instance

    POW

    Instance monitoring

    enable-monitoring-instance

    OPE

    disable-monitoring-instance

    OPE

    Snapshot of instances

    create-snapshot

    MNT

    recover-snapshot

    MNT

    delete-snapshot

    MNT

    DNS aliases of instances

    create-dns

    OPE

    delete-dns

    OPE

    LoadBalancers

    create-lb

    POW

    start-lb

    OPE

    stop-lb

    OPE

    delete-lb

    POW

    Monitoring of LoadBalancers

    enable-monitoring-lb

    OPE

    disable-monitoring-lb

    OPE

    Manage LoadBalancers

    add-member-lb

    OPE

    delete-member-lb

    OPE

    update-member-state

    OPE

    DNS alias of LoadBalancers

    create-dns-lb

    OPE

    delete-dns-lb

    OPE

    Manage maintenance

    create-maintenance

    MNT

    delete-maintenance

    MNT

    Indicators

    create-indicator

    POW

    update-indicator

    POW

    delete-indicator

    POW

    SMS

    subscribe-vortext

    POW

    Storage Object

    create-object-stores

    POW

    update-object-stores

    OPE

    delete-object-stores

    POW

    Storage Object - Users

    create-user-objectstores

    POW

    update-user-objectstores

    POW

    delete-user-objectstores

    POW

    K8S Clusters

    create-cluster

    POW

    create-cluster-namespace

    OPE

    delete-cluster-namespace

    OPE

    create-cluster-nodes

    POW

    delete-cluster-nodes

    POW

    EB-B

    Zone réservée au groupe Cegedim

    EB4

    EB-C

    Zone réservée au groupe Cegedim

    EB5

    un statut : défini l'état de la ressource (active, inactive).
  • un environnement : défini le type d'environnement de la ressource (production, qa, dev, test, etc..).

  • des tags : permet de taguer vos ressources avec des clés/valeurs personnalisables qui sont requêtables.

  • Voir les ressources

    Voir toutes les ressources et leurs informations. Lecture seule.

    Gérer les maintenances

    Capacité de gérer les maintenances.

    Modifier les ressources

    Capacité de modifier les ressources sauf création et suppression.

    Gérer les ressources

    Gestion complète des ressources.

    Standard (STD)

    Maintenance (DTM)

    Bodies

    create-instance

    POW

    start-instance

    OPE

    stop-instance

    OPE

    reset-instance

    OPE

    EB

    Zone Parisienne

    EB4 : Boulogne-Billancourt

    EB5 : Magny-les-Hameaux

    ET

    Zone Toulousaine

    ET1 : Labège

    ET2 : Balma

    EB-HDS-A

    Zone cliente

    EB4

    EB-HDS-B

    Zone cliente

    EB4

    EB-HDS-C

    Zone cliente

    EB5

    EB-A

    Zone réservée au groupe Cegedim

    ET-HDS-A

    Zone cliente

    ET1

    ET-HDS-B

    Zone cliente

    ET1

    ET-A

    Zone réservée au groupe Cegedim

    ET1

    ET-B

    Zone réservée au groupe Cegedim

    Actif

    La ressource est active et le service est disponible.

    ACTIVE

    Préparation

    La ressource est en cours d'installation ou configuration. Le service n'est pas encore disponible.

    PREPARATION

    Inactif

    La ressource est inactive et le service est indisponible.

    INACTIVE

    Régions et zones de disponibilité
    Organisation des ressources ITCare
    Comment mes ressources ITCare sont-elles organisées ?

    EB4

    ET1

    Surveillance des performances et des ressources.

  • Licences optimisées : Grâce à la Software Assurance, l'utilisation du nœud passif est incluse sans coût supplémentaire, à condition que ces restrictions soient respectées.

  • Virtuel

    SQL Server 2016

    Windows Server 2016

    Standard ou Entreprise

    G:\

    MSSQL_TEMPDB

    10 Go

    TempDB

    5022

    SQL Server BDM/AG Endpoint

    TCP

    SDK

    Reporting Services

    Recherche en texte intégral

    Export, Import SQL Server backup

    Création de cluster Always On

    Disponible exclusivement pour l'édition SQL Server 2022 Enterprise, demander conseil à votre responsable de prestation de services

    compte monitoring

    Virtuel

    SQL Server 2022

    Windows Server 2022

    Standard ou Entreprise

    Virtuel

    SQL Server 2019

    Windows Server 2019

    Standard ou Entreprise

    Virtuel

    SQL Server 2017

    Windows Server 2019

    D:\

    MSSQL

    30 Go

    Racine de l'instance

    E:\

    MSSQL_USER_DATA

    30 Go

    Base de données utilisateurs

    F:\

    MSSQL_USER_LOG

    10 Go

    1433

    Écouteur de port statique du serveur

    TCP

    1434

    SQL Server Browser

    UDP

    2382

    Serveur d'écoute de SQL Server Analysis Services

    UDP

    2383

    Serveur d'écoute de SQL Server Analysis Services

    Libre-service

    Le client peut effectuer l'action de manière autonome.

    A la demande

    Le client peut demander que l'équipe de support de cegedim.cloud effectue l'action.

    Database Collation

    Integration Services

    Analysis Services

    compte admin

    AUTRE compte

    compte cgdm_admin

    Standard ou Entreprise

    Log des bases de données utilisateurs

    TCP

    Additionner toutes les ressources utilisées par les pods pour obtenir un nombre unique.
  • Au niveau de la granularité "Pod Level" : Si vous voulez que le dimensionnement soit parfaitement adapté et que vous en avez le temps, prenez le temps de déterminer ces paramètres pour chaque déploiement de votre cluster Kubernetes, car le MBCO peut varier ! Par exemple :

    • Une application web nécessitera un MBCO avec 100 %.

    • Un cache nécessitera un MBCO de 50%.

    • Une fonctionnalité "agréable à avoir" ou un outil interne peut être à 0 %.

  • Minimum Business Continuity Objective (MBCO)

    Comme le RTO / RPO, le MBCO est un paramètre majeur pour dimensionner votre DRP.

    En résumé, il s'agit du pourcentage de capacité de votre application déployée qui est nécessaire pour que votre entreprise soit opérationnelle.

    Selon la taille de vos charges de travail lorsque vous les exécutez dans 3 AZ, la performance que vous jugez suffisante peut être de 30%, 50% ou 100%.

    Par exemple, si vous avez une application avec 3 répliques de 4GB RAM sur chaque AZ, vous pouvez déterminer le MBCO de manière très différente :

    • 33%

      • il suffit qu'un seul fonctionne pendant la panne, car les performances seront correctes.

      • vous pouvez prendre le risque de ne pas avoir de redondance pendant la période de panne

    • 66%

      • soit, 2 pods minimum sont nécessaires pour avoir une performance OK

      • et/ou vous ne voulez pas prendre le risque d'échouer si le seul pod restant échoue.

    • 100%

      • vous avez absolument besoin de 3 pods minimum pour faire fonctionner le service avec des performances nominales

    Le choix vous appartient !

    Pods Ressources Demandes

    Les pods sont déployés en utilisant les demandes et les limites des ressources Kubernetes.

    Comme Kubernetes essaiera de replanifier vos pods en cas de panne, les requêtes sont un paramètre absolument majeur à gérer.

    Si l'AZ-C n'a pas assez de ressources pour satisfaire toutes les exigences des déploiements de pods souhaités, Kubernetes ne les déploiera pas, et peut-être que vos applications ne seront pas disponibles !

    Pour connaître vos demandes, vous pouvez exécuter cette commande : kubectl get pods --all-namespaces -o=jsonpath='{range .items[*]}{.metadata.namespace}{"/"}{.metadata.name}{"-"}{range .spec.containers[*]}{"/"}{.name}{";"}{.resources.requests.cpu}{";"}{.resources.limits.cpu}{";"}{.resources.requests.memory}{";"}{.resources.limits.memory}{"\n"}{end}{"\n"}{end}' | grep -v -e '^$'

    Utilisation des ressources

    Déterminer les demandes, c'est bien pour être sûr que Kubernetes déploiera autant de pods que vous le souhaitez, mais qu'en est-il de la capacité réelle utilisée par vos pods ? Il faut également en tenir compte pour avoir une idée des ressources "brutes" dont vos applications ont besoin.

    Pour le déterminer, vous pouvez exécuter cette commande pour connaître l'utilisation actuelle de votre pod : kubectl top pod

    Lens

    RDB + AOF : Vous pouvez également combiner AOF et RDB dans la même instance.

    Le client peut se connecter avec un compte à Redis et Sentinel (mot de passe défini par le client dans l'assistant de provisionnement).

    supervised

    systemd

    Interaction de supervision

    rdbchecksum

    oui

    dir

    /var/lib/redis/persistance

    compte cgdm_admin

    SHA-256

    compte cgdm_monitor

    SHA-256

    DBS_REDIS_CLI_REPL_REPLICAS_COUNT

    Vérifier le nombre de répliques

    DBS_REDIS_CLI_RDB_STATUS

    Statut de la RDB

    DBS_REDIS_PING

    Vérifie la disponibilité du nœud

    DBS_REDIS_SENTINEL_MASTER_UP

    Vérifie l'état du maître à partir de Sentinel

    DBS_REDIS_SENTINEL_SLAVES_COUNT

    Vérifier le nombre de répliques à partir de Sentinel

    DBS_REDIS_SENTINEL_SENTINELS_COUNT

    Vérifier Sentinelscount

    DBS_REDIS_SENTINEL_QUORUM

    Vérifier l'état du quorum

    TLS_REDIS_CERT_EXPIRATION

    Vérifier l'expiration du certificat Redis

    TLS_SENTINEL_CERT_EXPIRATION

    Vérifier l'expiration du certificat Sentinel

    Si Persistance RDB activée

    • save 3600 1

    • save 300 100

    • save 60 10000

    Si Persistance AOF activée

    • append fsync every sec

    Libre service

    Le client peut effectuer une action de manière autonome.

    Sur demande

    Le client peut demander à l'équipe de support de cegedim.cloud de prendre les mesures nécessaires.

    Accès SSH

    L'accès SSH est désactivé et réservé aux administrateurs de cegedim.cloud.

    Modifier le fichier de configuration

    Sur demande via un billet.

    Accès à Redis/Sentinel

    bind

    @IP 127.0.0.1

    Adresse d'écoute

    timeout

    300

    Fermer la connexion après qu'un client soit inactif pendant N secondes (0 pour désactiver)

    logfile

    /var/log/redis/redis-server.log

    appendonly

    oui

    dir

    /var/lib/redis/persistance

    appendfsync

    everysec

    save

    3600 1

    save

    300 100

    save

    60 10000

    rdb_compression

    oui

    compte du client

    SHA-256

    TOUT autre compte

    SHA-256

    DBS_REDIS_CLI_CLIENTS

    Vérifier le nombre de clients connectés

    DBS_REDIS_CLI_AOF_STATUS

    Vérifier l'état de l'aof

    DBS_REDIS_CLI_COMMANDS

    Nombre de commandes traitées

    DBS_REDIS_CLI_CONNECTIONS

    Nombre de connexions

    DBS_REDIS_CLI_CPU

    Utilisation du CPU

    DBS_REDIS_CLI_MEMORY

    Utilisation de la mémoire

    Diagramme de haut niveau
    Persistance

    Chemin du fichier journal

    Understanding MariaDB Architecture | Server | MariaDB Documentationmariadb.com
    Logo
    Logo
    Logo
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: myapp
      labels:
        name: myapp
    spec:
      replicas: 3
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: dep-nginx
    spec:
      selector:
        matchLabels:
          app: nginx
      replicas: 3
      template:
        metadata:
          labels:
            app: nginx
        spec:
          affinity:
            podAntiAffinity:
              preferredDuringSchedulingIgnoredDuringExecution:
              - weight: 100
                podAffinityTerm:
                  labelSelector:
                    matchExpressions:
                    - key: app
                      operator: In
                      values:
                      - nginx
                  topologyKey: "failure-domain.beta.kubernetes.io/zone"
          containers:
          - name: web-app
            image: nginx
    required_capacity = MBCO * max(requests, usage)
    required_capacity = sum(pod.MBCO * max(pod.requests, pod.usage))
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: myapp
    spec:
      replicas: 3
      template:
        spec:
          resources:
            limits:
              memory: "200Mi"
              cpu: "700m"
            requests:
              memory: "200Mi"
              cpu: "700m"
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: myapp
    spec:
      replicas: 2
      template:
        spec:
          resources:
            requests:
              memory: "200Mi"
              cpu: "700m"
    apiVersion: policy/v1
    kind: PodDisruptionBudget
    metadata:
      name: myapp-pdb
    spec:
      minAvailable: 2
      selector:
        matchLabels:
          app: myapp
    apiVersion: policy/v1
    kind: PodDisruptionBudget
    metadata:
      name: myapp-pdb
    spec:
      maxUnavailable: 1
      selector:
        matchLabels:
          app: myapp
    ~* &* +@all -@dangerous +ACL|GETUSER +INFO +sentinel|GET-MASTER-ADDR-BY-NAME +sentinel|IS-MASTER-DOWN-BY-ADDR +sentinel|MASTER +sentinel|MASTERS +sentinel|MYID +sentinel|REPLICAS +sentinel|SLAVES +sentinel|SENTINELS
    ~* &* +@all -@dangerous +ACL|GETUSER +INFO +CONFIG|GET +CONFIG|HELP
    Logo
    Logo
    Logo
    Logo
    GitHub - nginx/kubernetes-ingress: NGINX and NGINX Plus Ingress Controllers for KubernetesGitHub
    Logo
    Logo
    Logo
    Logo
    Logo
    https://redis.io/docs/management/persistence/redis.io
    Logo

    Notes de mise à jour

    Découvrez les dernières mises à jour de cegedim.cloud ! Améliorations continues, nouveaux produits, nouvelles fonctionnalités et évolutions sont référencés ici.

    Octobre 2025

    🚀 RHEL 9

    RHEL 9 est désormais disponible pour provisionnement dans ITCare. Côté sécurité, OpenSSL 3.0.1 et SELinux renforcent la protection, et l'authentification par mot de passe root est désormais désactivée par défaut.

    🚀 Apache Kafka 4

    La nouvelle version d'Apache Kafka 4 est disponible et comprend plusieurs mises à jour, telles que :

    • Les rééquilibrages des consommateurs sont plus rapides et plus fluides grâce à un nouveau protocole côté broker.

    • Apache Kafka 4 introduit également un mode de file d'attente expérimental, améliore la robustesse transactionnelle et renforce la sécurité de l'élection des leaders.

    • En termes de performances, les requêtes sont désormais plus réactives, avec une observabilité intégrée améliorée.

    🛠️ Indicateur de disponibilité

    Un indicateur de disponibilité pour chaque ressource est désormais visible à côté de votre ressource dans la liste des ressources de vos services. Cet indicateur vous indique si la ressource ou le service hébergé est disponible et fonctionnel. À titre d'exemples, une VM nue doit au moins répondre au ping, et un PaaS Postgresql doit autoriser les connexions sur son port d'écoute. Ces informations sont également visibles au niveau des ressources dans la vue d'ensemble.

    🛠️ Console de supervision

    • Niveau d'assistance visible pour chaque alarme : vous pouvez désormais voir directement le niveau d'assistance associé à chacune de vos alarmes.

    • Gestion améliorée des filtres : les filtres et les filtres rapides sont désormais compatibles avec le nombre de résultats, pour un affichage plus précis.

    • Recherche par vérification : la recherche par nom de vérification est désormais fonctionnelle avec tous les noms de vérification. De plus, des informations supplémentaires

    Août 2025

    🚀 Windows Server 2025

    La dernière version de Windows Server 2025 est désormais disponible en libre-service dans ITCare et comprend un certain nombre d'améliorations, notamment :

    • Sécurité renforcée : nouveaux mécanismes anti-cyberattaques, Credential Guard activé par défaut.

    • Performances accrues : stockage NVMe, virtualisation avancée et hotpatching sans redémarrage.

    • Expérience modernisée : interface améliorée, diagnostics en temps réel et gestion centralisée.

    🚀 Kubernetes 1.32

    La dernière version de Kubernetes 1.32 est désormais disponible et apporte des améliorations significatives axées sur la stabilité, la simplicité de gestion et une meilleure observabilité. La mise à niveau peut être effectuée en libre-service via ITCare. Veuillez vous reporter au guide de mise à niveau dans la section K8S.

    Juillet 2025

    🛠️ SQL Server - Niveau de mise à jour

    Vous pouvez désormais demander une mise à jour de vos instances SQL Server via un ticket dans ITCare. Un nouveau sous-panneau affichant les détails de version de votre serveur SQL est désormais visible dans le panneau de Configuration de votre ressource dans l'onglet Aperçu.

    🛠️ ITCare - Demande de Support

    L'expérience utilisateur (UX) et l'interface utilisateur (UI) ont été entièrement repensées pour faciliter l'utilisation de la section support lors de la création d'un incident ou d'une demande.

    🛠️ Apache Kafka - Ajouter des noeuds - taille de disque

    Lors de l'ajout d'un noeud broker sur une ressource Apache Kafka, la taille du disque est automatiquement renseignée en fonction de la taille des disques existants dans le cluster. Vous avez cependant toujours le choix de garder cette taille ou de la modifier.

    🛠️ Object Storage - Améliorations

    Le nombre de buckets appartenant à chaque utilisateur est désormais affiché pour chaque utilisateur dans un stockage d'objets dans ITCare. La suppression d'un utilisateur est désactivée lorsque l'utilisateur possède au moins un bucket.

    🛠️ ITCare - Améliorations de l'interface de la console de Monitoring

    • Suppression des filtres et des pictogrames d'acquitement

    • Désactivation de la réactualisation automatique de la page

    • Suppression de l'affichage du nombre d'alerte par statuts

    🛠️ ITCare - Améliorations

    De multiples améliorations ont été apportées pour améliorer l'expérience utilisateur, les performances et l'interface de ITCare.

    June 2025

    🛠️ Matomo - Gestion du Monitoring

    Le niveau de support peut désormais être modifié en self service via ITCare, une fois qu'une instance Matomo a été déployée.

    🛠️ Kubernetes - Ajouter des Noeuds Ingress

    Les nœuds d'entrée (Ingress) peuvent désormais être ajoutés à un cluster Kubernetes via self service dans ITCare.

    Avril 2025

    🚀 OpenSearch 2.19

    OpenSearch 2.19 est désormais disponible dans ITCare ! Cette version inclut un certain nombre de mises à jour qui vous aident à créer des applications alimentées par l'apprentissage automatique (ML), des améliorations de performances et de stabilité.

    🛠️ OpenSearch - Supprimer des noeuds

    Il vous est maintenant possible de supprimer des noeuds de données d'un cluster OpenSearch en self-service. La suppression de noeuds doit se faire par paire afin de respecter l'équilibre de la répartition des données au sein du cluster.

    🚀 Kubernetes 1.31

    Kubernetes 1.31 est désormais disponible dans ITCare ! Cette version comprend un certain nombre de mises à jour comme la possibilité de spécifier un profil AppArmor pour un container ou un pod dans l'API, amélioration de la fiabilité de la connectivité pour l'Ingress KubeProxy ainsi qu'un design initial pour le support des limites au niveau pod-level.

    Note à propos du processus de mise à jour

    Le processus de mise à jour nécessite le redémarrage des nœuds (10 % des nœuds de travail à la fois) en raison d'un changement de configuration entre les versions de Kubelet. En fonction du niveau de résilience de votre pile, nous recommandons de programmer cette mise à jour pendant une période de faible utilisation afin de minimiser les perturbations.

    Vous pouvez désormais mettre à jour en version 1.31 un cluster déjà existant en autonomie.

    N'oubliez pas de vérifier la compatibilité avant de lancer une mise à jour ! Plus d'informations ici :

    🚀 Apache Kafka 3.9

    La version 3.9 de Apache Kafka est désormais disponible dans ITCare ! Les nouveautés incluent des résolutions de bug ainsi que de mises à jour comme le stockage hiérarchisé, les quorums dynamiques Kraft ainsi que l'authentification OAuth avec un fournisseur OIDC.

    🛠️ Apache Kafka - Ajouter des noeuds

    Il vous est maintenant possible d'ajouter des noeuds broker en self-service dans vos clusters Apache Kafka. Le sizing est identique à celui défini initialement lors de la création de votre cluster. Le stockage associé est modifiable mais il est recommandé d'allouer la même quantité que celle configurée sur les autres brokers du cluster. Enfin, le choix de la zone de disponibilité est possible avant la soumission.

    🚀 Ubuntu 24.04

    Ubuntu 24.04 est désormais disponible dans ITCare ! Le hardening du système d'exploitation déployé dans les versions précédentes est toujours présent dans cette version.

    🛠️ Politiques de sauvegarde

    Vous pouvez désormais sélectionner la politique de sauvegarde sur tous nos PaaS durant l'étape de création. Les produits suivants sont désormais éligibiles: PostgreSQL, MariaDB, SQL Server, Oracle.

    🛠️ Stockage Objet

    De nouvelles fonctionnalités et améliorations ont été apportés à la page des stockages objets. Vous pouvez maintenant trier par catégories sur la liste des COS, un bouton "Filtrer" a aussi été ajouté. Depuis la page du COS vous pouvez maintenant accéder à son dashboard Grafana via le bouton Métrologie avancée.

    Mars 2025

    🚀 Améliorations du niveau de support ITCare

    La gestion du niveau de support a été grandement améliorée sur nos produits. Vous pouvez désormais choisir d'activer et de déployer la surveillance sans activer immédiatement les alertes. Cela permet à nos utilisateurs de tester les checks de surveillance sans déclencher de tickets ou le support d'astreinte téléphonique.

    🛠️ PostgreSQL - Mise à niveau sur place

    Une nouvelle action de self-service est disponible sur tous les PaaS PostgreSQL : la mise à niveau sur place. Cela vous permet de mettre à niveau votre déploiement d'une version quelconque à la dernière version de manière autonome et sans avoir à redeployer un autre PaaS. Cette opération est décrite dans la page de mise à niveau de cette Académie pour PostgreSQL. Toutes les mesures de sécurité ont été mises en œuvre et en cas d'erreur, une fonction de retour arrière est incluse dans le processus de mise à niveau.

    🛠️ ITCare UI / UX / Performance

    De multiples améliorations ont été apportées pour améliorer l'expérience utilisateur, les performances et l'interface de ITCare.

    Février 2025

    🛠️ ITCare - Nouveau Dashboard de Sécurité

    Un nouveau dashboard de sécurité offre une visibilité en temps réel sur les vulnérabilités, la protection Bot Defense, les instances Vault et l’obsolescence des ressources. Il permet un suivi précis des vulnérabilités corrigées et des attaques bloquées. Les pages "Vulnérabilités" et "Bot Defense" ont été enrichies pour une gestion optimisée.

    🛠️ ITCare - Amélioration du calcul des taux de disponibilité

    Nous avons amélioré la précision des calculs en prenant en compte uniquement les périodes définies dans l’indicateur. La visibilité est renforcée avec l’affichage des périodes de disponibilité et d’indisponibilité par mois ou par jour. Les raisons des interruptions sont désormais accessibles, et les maintenances ne sont plus comptabilisées comme des indisponibilités, garantissant des indicateurs plus fiables.

    Janvier 2025

    🛠️ PostgreSQL - TLS

    L'activation du chiffrement TLS est désormais possible sur demande après le provisioning d'un PostgreSQL PaaS. Merci de soumettre un ticket de demande dans ITCare pour cette fonctionnalité.

    🛠️ Politiques de sauvegarde

    Nous avons amélioré la sélection des politiques de sauvegarde et permettons désormais la sélection d'une politique "répliquée" même pour les services de type "non-production". Cela signifie que si vous avez des ressources sensibles de type "non-production", vous pouvez sélectionner une politique qui gère la réplication des sauvegardes hors site.

    🛠️ ITCare - Informations sur les sauvegardes

    Le panneau de sauvegarde a été amélioré dans ITCare pour tous nos produits PaaS. Il devrait être affiché sur tous les produits et plus d'informations sont désormais disponibles, telles que les politiques de sauvegarde, l'horodatage de la dernière sauvegarde et l'empreinte de stockage du système (et de la base de données, le cas échéant) en Go.

    🚀 ITCare - Object Stores dans la barre de recherche principale

    Les Object Stores sont désormais indexés dans la barre de recherche principale et peuvent être trouvés pour une navigation plus facile vers la page d'informations détaillées.

    Décembre 2024

    🚀 SQL Server Always On

    Always On est désormais disponible dans ITCare en self-service pour SQL Server 2022 Enterprise edition. Pour plus d'informations, veuillez consulter les informations sur le produit .

    🚀 Politiques de sauvegarde pour les PaaS

    En septembre, nous avons lancé la sélection de la politique de sauvegarde pour Linux et Windows lors du provisionnement. Vous pouvez désormais sélectionner la politique de sauvegarde pour plusieurs PaaS lors du provisionnement : OpenSearch, Redis, Apache Kafka, RabbitMQ, GlusterFS, Tomcat, Wildfly.

    Nous avons également amélioré l'aperçu de l'interface utilisateur pour ces produits afin de vous permettre de voir l'empreinte de la sauvegarde et les politiques associées configurées.

    La prochaine et dernière livraison concernera les produits restants suivants : PostgreSQL, MariaDB, SQL Server.

    🛠️ Apache Kafka - Ajout de nodes

    L'ajout de nodes supplémentaires pour le produit Apache Kafka est désormais possible sur requête via un ticket depuis ITCare. Pour rappel, un cluster Apache Kafka est composé à minima de 3 nodes pour de la production.

    Octobre 2024

    🚀 Kubernetes 1.28

    Kubernetes 1.28 est désormais disponible dans ITCare !

    Aussi, vous pouvez désormais mettre à jour en version 1.28 un cluster déjà existant en autonomie.

    Pensez à avant de déclencher une mise à jour !

    Septembre 2024

    🛠️ ITCare - Filtrage dynamique

    Un nouveau système de filtrage est maintenant disponible dans la section Ressources ! Les filtres s'ajustent automatiquement en fonction du type de ressource choisi, permettant ainsi une expérience plus personnalisée et une présentation optimisée des informations attendues.

    Une démonstration interactive est disponible dans la section démo :

    🚀 Redis 7.2.5

    Nous sommes heureux d'annoncer que Redis 7.2.5 est désormais disponible sur notre plateforme ITCare. Vous pouvez également demander la mise à jour en version 7.2.5 d'un PaaS Redis déjà existant via un ticket requête.

    🛠️ Politiques de sauvegardes (Bêta)

    La sélection de votre politique de sauvegarde pour les instances virtuelles Linux et Windows est maintenant disponible en autonomie lors de la création de vos ressources dans ITCare !

    Cette fonctionnalité est présentement en phase Bêta accessible à tous.

    Juillet-Août 2024

    🚀 Oracle Linux 9

    La distribution Oracle Linux est désormais disponible en libre service via ITCare, notre plateforme de gestion du Cloud. Cette distribution est disponible dans le cadre de notre produit d'instances virtuelles avec les mêmes options et propriétés.

    🛠️ Bot Defense - Mode transparent

    Bot Defense a été mis à jour pour introduire le mode transparent, vous permettant de voir les requêtes jugées illégitimes sans impacter le trafic. Ce mode facilite l'analyse des logs et l'identification des faux positifs, ce qui permet d'affiner les réglages en ajoutant des IP légitimes à la liste blanche avant de passer au mode blocage.

    Pour plus d'informations, merci de lire la documentation .

    🚀 OverDrive - XS

    OverDrive, basé sur la technologie Nextcloud, offre une plateforme de stockage et de synchronisation de fichiers avec de puissantes capacités de collaboration avec des interfaces de bureau, mobiles et web. Ce nouveau produit est disponible en libre-service par l'intermédiaire d'ITCare dans la taille XS et est hébergé sur site avec des normes de sécurité élevées.

    Pour plus d'informations, veuillez lire la documentation .

    🛠️ Kubernetes - Création de load balancer

    Pour simplifier la création d'un load balancer, il est désormais possible de créer un load balancer sur votre cluster Kubernetes directement depuis le menu déroulant Gérer.

    🛠️ Kubernetes - Indicateur de santé API

    Un nouvel indicateur de santé a été ajouté à tous les clusters Kubernetes dont la surveillance est activée pour surveiller l'API Kubernetes.

    ♻️ Mise à jour des OS des PaaS

    Le système d'exploitation utilisé par les PaaS a été mis à niveau en dernière version lorsque cela était possible. Cela garantit que tous les nouveaux déploiements seront à jour et bénéficieront des correctifs de sécurité.

    Juin 2024

    🛠️ OpenSearch - Migration vers une architecture à master dédiés

    Une nouvelle fonctionnalité est disponible pour les clusters OpenSearch afin de migrer d'une topologie basique vers une topologie avec master dédiés. Cette migration ajoutera 3 nœuds dédiés au rôle de maître (n'hébergeant pas de données).

    Une démonstration interactive est disponible dans la section démo :

    🛠️ OpenSearch - Noeuds d'ingestion

    Des nœuds spécialisés dédiés au rôle d'ingestion peuvent maintenant être ajoutés à votre cluster OpenSearch. Cette nouvelle fonctionnalité est disponible dans le menu déroulant Gérer et ajoutera 2 nouveaux nœuds dédiés au rôle d'ingestion.

    Une démonstration interactive est disponible dans la section démo :

    Mai 2024

    🚀 RabbitMQ 3.13

    Les versions 3.12 et 3.13 sont désormais supportées par le PaaS RabbitMQ ! Pour plus d'informations, merci de lire la documentation ainsi que les notes de mises à jour officielles.

    Avril 2024

    🚀 PostgreSQL 16

    La version 16 est maintenant supportée par le PaaS PostgreSQL ! Pour plus d'informations, merci de lire la documentation ainsi que les notes de mises à jour officielles.

    🚀 PostgreSQL - Gestion des extensions

    L'installation d'extensions PostgreSQL sur vos PaaS est désormais possible en libre service via ITCare. La liste des extensions supportées est disponible dans la documentation .

    Cette fonctionnalité n'est disponible que pour les déploiements PostgreSQL 15 et supérieur.

    🚀 OpenSearch 2.11.1

    Le PaaS OpenSearch a été mis à jour pour supporté et permettre le déploiement de la version 2.11.1.

    🛠️ ITCare - Amélioration de l'interface

    Le menu principal d'ITCare a été amélioré afin d'offrir une meilleure navigation en réduisant le nombre de pages en cascade.

    🛠️ ITCare - Nouveau moteur de notification

    L'ancien moteur de notification a été supprimé et remplacé par un meilleur système de notification capable de gérer des règles de notification très précises. Cela vous permet de personnaliser exactement les notifications que vous souhaitez recevoir à l'aide d'abonnements ainsi que les destinataires à l'aide de groupes de diffusion d'e-mails.

    Vos anciennes souscriptions de notification ont été conservées.

    🛠️ Kubernetes - Personnalisation de l'Ingress provider

    Il est désormais possible de sélectionner l'Ingress provider que vous souhaitez pour Kubernetes dans l'assistant de création. Les Ingress provider disponibles sont : NGINX, Istio et Traefik.

    Mars 2024

    🚀 SQL Server 2022

    2022 est disponible au provisioning dans ITCare. Comme précédemment, il est possible de choisir l'édition Standard ou Entreprise au provisioning.

    Février 2024

    🛠️ Kubernetes - améliorations d'affichage

    Dans ITCare, l'affichage de Kubernetes a été amélioré pour afficher le rôle Ingress sur vos nœuds ainsi que la version du système d'exploitation déployé sur chaque nœud.

    🛠️ Load balancers - Alertes HTTP URL personnalisées

    Après avoir amélioré la gestion des URL dans ITCare, il est maintenant possible de créer vos propres alertes HTTP sur des URL directement depuis ITCare sur votre load balancer en utilisant l'onglet URL.

    Janvier 2024

    🚀 Debian 12

    La version 12 de la distribution Linux Debian est disponible pour le déploiement dans ITCare. L'automatisation a été améliorée et l'approvisionnement est désormais plus rapide.

    L'amélioration de la sécurité, précédemment disponible dans Debian 11, est toujours en vigueur, mais elle est désormais facultative et peut être désactivée dans l'assistant.

    🚀 MariaDB 10.11

    La nouvelle version LTS de est disponible pour le déploiement dans ITCare. Consultez les notes de version officielles de MariaDB pour plus d'informations.

    🛠️ Patch Party - améliorations

    Les ressources peuvent désormais être incluses ou exclues en mode batch à partir de votre page Service. Nous avons également amélioré les informations sur l'état des correctifs grâce à un panneau dédié dans la vue d'ensemble de votre ressource, qui vous permet de voir rapidement si votre ressource a été patchée et quand aura lieu la prochaine Patch Party.

    🚀 Descriptions personnalisées pour les ressources et Services

    Des descriptions personnalisées peuvent être ajoutées à vos ressources et Services dans ITCare pour identifier rapidement vos applications.

    🚀 Ressources favorites

    Pour vous aider à naviguer vers vos ressources préférées, vous pouvez désormais ajouter des ressources à votre liste personnelle de favoris que vous pouvez appeler à partir de l'en-tête ITCare.

    🚀 Onglet Réseaux dans la section Calcul

    Un nouvel onglet est disponible dans la section Calcul pour parcourir les réseaux disponibles pour votre cloud avec leurs propriétés.

    🛠️ Calendrier de maintenance - améliorations

    Le calendrier de maintenance a été amélioré pour afficher les événements personnalisés propres à chaque client. Les RFC et les événements privés apparaîtront désormais dans le calendrier ITCare de votre cloud.

    🛠️ Section Sécurité - améliorations

    La section Sécurité a été améliorée avec un nouveau point d'entrée pour Bot Defense & DoS Protection avec ses détails concernant les requêtes bloquées et les attaques.

    Octobre 2023

    🚀 Apache Kafka 3.6.0

    La version 3.6.0 de , plateforme open-source de streaming d'événements distribués, est disponible au déploiement via ITCare.

    Cette nouvelle version utilise l'algorithme de consensus Raft et permet de s'affranchir de Zookeeper.

    🚀 PostgreSQL 15

    La version 15 de est disponible au déploiement via ITCare. Elle est compatible avec toutes les fonctionnalités précédemment proposées.

    🚀 PostgreSQL - Restauration en libre-service

    La fonctionnalité de restauration en libre-service, qui vous permet de restaurer une sauvegarde d'une source vers une autre destination, est disponible en libre-service dans ITCare.

    ⚒️ Load balancer - Bot defense

    Un nouveau mode "Strict" a été rajouté à la fonctionnalité .

    Ce profil plus restrictif est déployable rapidement en cas d'attaque en cours sur vos Load balancers. Son paramétrage plus fin est destiné à bloquer un nombre de requêtes plus conséquent.

    Septembre 2023

    🚀 Créer plusieurs ressources à la fois

    Vous pouvez créer jusqu'à 5 ressources supplémentaires avec la même configuration. Les ressources supplémentaires seront situées dans la même région, mais les zones de disponibilité peuvent être différentes.

    🚀 "Dupliquer" une ressource

    Lorsque vous affichez une instance virtuelle, vous pouvez maintenant utiliser cette ressource existante comme modèle pour créer une nouvelle ressource avec les mêmes propriétés : CPU, RAM, réseau, stockage, options de gestion.

    Vérifiez la taille du disque dans le nouveau modèle. En fonction du modèle source, vous pourriez avoir une quantité de stockage incorrecte configurée. C'est un bug connu !

    La fonctionnalité a pour objectif de faire économiser du temps pour créer une nouvelle instance virtuelle, mais elle ne CLONERA rien.

    ⚒️ Wizard - Sélection du réseau

    Lors de la création d'une ressource, la sélection du réseau est maintenant consciente de l'environnement du Service.

    Si le Service a :

    • un environnement de Production, les réseaux de production sont affichés par défaut.

    • un environnement de Non-production, les réseaux de non-production sont affichés par défaut.

    Dans les deux cas, les réseaux de production et de non-production restent disponibles pour la sélection.

    ⚒️ Service global - Gestion de la maintenance

    Les maintenances peuvent maintenant être planifiées sur plusieurs ou toutes les ressources au niveau du service.

    🚀 PostgreSQL - Activation de la haute disponibilité

    Une instance PostgreSQL unique peut maintenant être convertie en un cluster PostgreSQL hautement disponible avec deux nœuds. Cette opération n'est pas réversible.

    ⚒️ Nouvelles options de gestion sur les clusters

    De nouvelles actions de gestion sont maintenant disponibles sur les clusters :

    • Redimensionnement : il peut également être effectué au niveau du nœud en fonction de la configuration du produit.

    • Patch party : les statuts de chaque ressource sont maintenant visibles dans la vue étendue du service.

    🚀 Kubernetes - Mise à jour en libre-service

    Il est désormais possible de mettre à jour votre cluster vers la dernière version supportée à partir du menu de gestion du cluster :

    • La mise à niveau vers la version supérieure suivante est possible - le saut de version n'est pas autorisé

    • Le retour à une version antérieure n'est pas possible

    🚀 Load balancers - Gestion des URL

    Les URL liées à un équilibreur de charge peuvent désormais être gérées individuellement :

    • Un onglet URL dédié est disponible dans la page de l'équilibreur de charge

    • Les actions suivantes peuvent être effectuées par URL ou sur un groupe d'URL : planifier la maintenance, activer / désactiver la surveillance

    • La création d'URL est disponible dans les actions de gestion de l'équilibreur de charge

    Configure Quality of Service for PodsKubernetes
    Specifying a Disruption Budget for your ApplicationKubernetes
    enhancements/keps/sig-scheduling/895-pod-topology-spread at master · kubernetes/enhancementsGitHub
    Pod Topology Spread ConstraintsKubernetes
    SQL Server - Architecture
    Bot Defense
    OverDrive
    RabbitMQ
    PostgreSQL
    PostgreSQL - Architecture
    SQL Server
    MariaDB
    Apache Kafka
    PostgreSQL
    PostgreSQL
    Bot Defense
    Conteneurs (K8s)
    Filtres dynamiques
    OpenSearch - Didacticiels
    OpenSearch - Didacticiels
    Horizontal Pod AutoscalingKubernetes
    Logo
    Logo

    RACI

    Le partage des responsabilités

    Objectifs et Définitions

    Pour avoir une compréhension commune des responsabilités et des devoirs entre cegedim.cloud et le client, nous utilisons une matrice RACI applicable à nos produits managés.

    R

    Responsable (acteur)

    Assigné à la réalisation de la tâche ou du produit à livrer

    A

    Matrice RACI générique

    Vous trouverez ci-dessous les matrices RACI décrivant les actions liées à la gestion des produits managés du catalogue cegedim.cloud.

    Il existe de légères différences en fonction du plan souscrit par le client :

    Plan
    Description
    Actions
    Plan
    cegedim.cloud
    Client
    Commentaires

    Matrice RACI spécifiques

    Certains de nos produits disposent d'actions spécifiques qui peuvent être réalisées au autonomie et en libre-service depuis notre outils de gestion de cloud ITCare. Les matrices ci-dessous sont donc complémentaires à la matrice RACI générique.

    Kubernetes

    Actions
    Plan
    cegedim.cloud
    Client
    Commentaires

    MariaDB

    Actions
    Plan
    cegedim.cloud
    Client
    Commentaires

    OpenSearch

    Actions
    Plan
    cegedim.cloud
    Client
    Commentaires

    PostgreSQL

    Actions
    Plan
    cegedim.cloud
    Client
    Commentaires

    Apache Kafka

    Actions
    Plan
    cegedim.cloud
    Client
    Commentaires

    RabbitMQ

    Actions
    Plan
    cegedim.cloud
    Client
    Commentaires

    Bot Defense

    Actions
    Plan
    cegedim.cloud
    Client
    Commentaires

    Data Masking

    Actions
    Plan
    cegedim.cloud
    Client

    *Chaque exécution comprend : la vérification des prérequis, l'exécution du script, le suivi de l'exécution par un expert en sécurité informatique en contact direct avec le client.

    GlusterFS

    Actions
    Plan
    cegedim.cloud
    Client
    Commentaires

    Stockage Objet

    Actions
    Plan
    cegedim.cloud
    client
    Commentaires

    Sur requête

    A / R

    I

    À la demande du client, certains paramètres de configuration peuvent être modifiés.

    Surveillance standard

    *

    A / R

    I

    La surveillance est obligatoire et le client peut y accéder par le biais d'ITCare.

    Métriques de performance

    *

    R

    I

    Les mesures de performance sont fournies par défaut et sont accessibles via ITCare.

    Sauvegarde et restauration

    *

    R

    A / I

    La politique de sauvegarde est définie par le client et appliquée par cegedim.cloud, qui est chargé de s'assurer que les sauvegardes sont effectuées, et de restaurer les données sur demande.

    Le client dispose d'informations sur la sauvegarde dans ITCare.

    Protection contre la reprise après sinistre

    *

    R

    A / I

    Le Disaster Recovery est activé par le client et appliqué par cegedim.cloud, qui est chargé de s'assurer que les RTO et RPO associés sont atteints.

    Le client dispose d'informations sur la protection contre les sinistres dans ITCare.

    Correctifs de sécurité

    *

    R

    A / I

    cegedim.cloud applique les patchs de sécurité dans l'environnement d'exécution, trimestriellement, lors des "Patch parties", par défaut.

    Le client peut choisir d'exclure une instance de l'application des correctifs via ITCare.

    Mises à jour des versions

    Sur requête ou Libre-service

    R

    A / I

    La mise à jour peut parfois être effectuée par le client depuis ITCare en autonomie OU une demande peut être émise par le client, et si la transition est possible, cegedim.cloud effectuera la mise à jour ou l'upgrade de la version du produit.

    Libre-service

    I

    A / R

    Le Client peut supprimer des nœuds Kubernetes en libre-service via ITCare.

    Activer le mode HA sur un cluster Kubernetes

    Libre-service

    I

    A / R

    Le Client peut activer la Haute disponibilité sur un cluster Kubernetes en libre-service via ITCare.

    Libre-service

    I

    A / R

    Signalez en temps réel les demandes bloquées (y compris l'adresse IP bloquée, la raison du blocage et l'ID du support).

    Demande de détails sur la demande bloquée

    Sur requête

    A / R

    I

    À la demande du client, des informations supplémentaires peuvent être fournies pour une demande bloquée en fournissant l'identifiant du support.

    Identifier les contraintes d'intégrité des données dans la base de données

    *

    I

    A / R

    PDM : découverte et marquage des données sensibles

    *

    A / R

    I / C

    PDM : Définition des règles de masquage et de la politique de masquage

    *

    A / R

    I / C

    PDM : Facultatif : mise en œuvre de règles et de dictionnaires personnalisés

    *

    A / R

    I / C

    PDM : Création et exécution du plan de masquage*

    • 10 traitements d'anonymisation inclus

    • Abonnement de 12 mois

    • Options : Paquet de 10 traitements d'anonymisation supplémentaires à utiliser pendant la période d'abonnement.

    *

    A / R

    I / C

    Vérification des résultats et validation de l'efficacité du masquage

    *

    I

    A / R

    Libre-service

    I

    A / R

    Créer un Object User

    Libre-service

    I

    A / R

    La décision de créer un utilisateur d'objet et les paramètres associés est prise par le client.

    Les actions sont effectuées :

    • par les clients par le biais d'ITCare s'ils ont souscrit au plan "Libre service".

    • pour d'autres clients, par les équipes Professional Services de cegedim.cloud

    Gérer les Object Users

    Libre-service

    I

    A / R

    La décision de modifier un utilisateur d'objet et les paramètres associés est prise par le client.

    Ces actions comprennent le renouvellement de la clé secrète ou le verrouillage de l'utilisateur de l'objet.

    Les actions sont effectuées :

    • par les clients par le biais d'ITCare s'ils ont souscrit au plan "Libre service".

    • pour les autres clients, par les équipes Professional Services de cegedim.cloud

    Supprimer un Object User

    Libre-service

    I

    A / R

    La décision de supprimer un utilisateur d'objet et les paramètres associés est prise par le client.

    Les actions sont effectuées :

    • par les clients par le biais d'ITCare s'ils ont souscrit au plan "Libre service".

    • pour les autres clients, par les équipes Professional Services de cegedim.cloud

    Créer un Bucket

    Libre-service

    I

    A / R

    La création des buckets et des paramètres associés est faite par le client.

    Les actions sont effectuées en utilisant l'API S3

    Supprimer un Bucket

    Libre-service

    I

    A / R

    La suppression des buckets et des paramètres associés est effectuée par le client.

    Les actions sont effectuées en utilisant l'API S3

    Appliquer une politique de gestion des buckets

    Libre-service

    I

    A / R

    La gestion de la politique du panier est effectuée par le client.

    Les actions sont effectuées en utilisant l'API S3

    Appliquer une politique de gestion du cycle de vie

    Libre-service

    I

    A / R

    La gestion du cycle de vie de la configuration est assurée par le client.

    Les actions sont effectuées en utilisant l'API S3

    Gérer la configuration Object Lock

    Libre-service

    I

    A / R

    les configurations Object Lock, appliquées sur les buckets ou les objets, sont réalisés par le client

    Les actions sont effectuées en utilisant l'API S3

    Disponibilité et Supervision

    *

    R / A

    I

    cegedim.cloud s'assure que le service de stockage d'objets est disponible et fonctionnel à tout moment.

    Réplication multi-régions

    *

    R / A

    I

    La réplication des données entre les régions est gérée par cegedim.cloud qui assure que les RTO et RPO associés sont atteints.

    Le client dispose d'informations sur la protection contre les sinistres dans ITCare.

    Correctifs de sécurité

    *

    R / A

    I

    cegedim.cloud est en charge d'appliquer les correctifs de sécurité.

    Cette action est transparente pour les utilisateurs et n'entraîne pas d'interruption de service.

    Mises à jour

    *

    R / A

    I

    cegedim.cloud est en charge d'appliquer les mises à jour.

    Cette action est transparente pour les utilisateurs et n'entraîne pas d'interruption de service.

    l'API S3 est susceptible d'être modifiée.

    Responsable (décisionnaire)

    A le pouvoir de décision final et la responsabilité de l'achèvement (1 seul par tâche)

    C

    Consulté

    Un conseiller, une partie prenante ou un expert en la matière qui est consulté avant une décision ou une action.

    I

    Informé

    Doit être informé après une décision ou une action

    Libre-service

    Le client peut créer des ressources directement à travers ITCare, en utilisant le libre-service et le paiement à l'utilisation.

    Sur requête

    Les ressources sont provisionnées et livrées par cegedim.cloud à la demande du client.

    Créer, Arrêter, Démarrer, Supprimer une instance ou un cluster

    Libre-service

    I

    A / R

    La décision de provisionner / arrêter / démarrer / supprimer est prise par le client.

    Les actions sont effectuées :

    • par les clients par le biais d'ITCare s'ils ont souscrit au service "On Demand".

    • pour d'autres clients, par l'équipe des services professionnels de cegedim.cloud

    Utiliser une instance ou un cluster

    *

    I

    A / R

    Le client est responsable de l'utilisation saine du produit.

    Ajouter un nœud Kubernetes

    Libre-service

    I

    A / R

    Le Client peut ajouter des nœuds Kubernetes en libre-service via ITCare.

    Redimensionner un nœud Kubernetes

    Libre-service

    I

    A / R

    Le Client peut redimensionner des nœuds Kubernetes en libre-service via ITCare.

    Ajouter une réplique MariaDB en lecture seule

    Sur requête

    A / R

    I

    Sur demande, une réplique MariaDB en lecture seule peut être configurée pour un nœud MariaDB autonome.

    Gestion des Index

    *

    I

    A / R

    Le client est responsable de la création et de la gestion de ses index. cegedim.cloud n'y a pas accès à l'exception de l'index security_audit.

    Restaurer PostgreSQL source vers destination

    Libre-service

    I

    A / R

    La décision de restaurer un PostgreSQL sur un autre déploiement PostgreSQL est prise par le client. Les actions sont effectuées:

    • par le biais d'ITCare s'ils ont souscrit au service "On Demand".

    • par l'équipe Professionnals Services de cegedim.cloud

    Conversion en Haute disponibilité

    Libre-service

    I

    A / R

    La décision de restaurer un PostgreSQL sur un autre déploiement PostgreSQL est prise par le client. Les actions sont effectuées:

    • par le biais d'ITCare s'ils ont souscrit au service "On Demand".

    • par l'équipe Professionnals Services de cegedim.cloud

    Gérer les objets Apache Kafka

    *

    I

    A / R

    Le client est responsable de la gestion des objets Apache Kafka (topics, partitions, etc.) et de leur bonne utilisation.

    Ajouter un noeud broker dans un cluster Apache Kafka

    *

    I

    A / R

    Le client est responsable de la gestion des noeuds de ses clusters Apache Kafka (topics, partitions, etc.) et de leur bonne utilisation.

    Gérer les objets RabbitMQ

    *

    I

    A / R

    Le client est responsable de la gestion des objets RabbitMQ (échanges, files d'attente, etc.) et de leur bonne utilisation.

    Activer / Désactiver l'option Bot Defense sur un Load Balancer

    Libre-service

    I

    A / R

    La décision d'activer/désactiver l'option Bot Defense est prise par le client.

    Ajouter ou supprimer une IP sur la whitelist

    Libre-service

    I

    A / R

    Le client peut ajouter ou supprimer une IP sur la whitelist.

    Désigner un champion et définir les objectifs de masquage des données

    *

    I

    A / R

    Définir le contexte du masquage

    *

    I

    A / R

    Identifier les données sensibles à masquer (spécifications)

    *

    I

    Gérer les volumes de stockage

    Libre-service

    I

    A / R

    Le client est responsable de la gestion (création, suppression, redimensionnement) des volumes de stockage pour son cluster.

    Créer un Object Store

    Libre-service

    I

    A / R

    La décision de provisionner / supprimer / modifier un Object Store et les paramètres associés est prise par le client.

    Les actions sont effectuées :

    • par les clients par le biais d'ITCare s'ils ont souscrit au plan "Libre service".

    • pour les autres clients, par les équipes Professional Services de cegedim.cloud

    Gérer le quota des Object Store

    Libre-service

    I

    A / R

    Modifier les configurations

    Supprimer un nœud Kubernetes

    Accès aux DDOS et aux requêtes bloquées de Bot Defense et Dos Protection

    A / R

    Supprimer un Object Store

    Logo
    Logo
    Logo
    Logo
    Logo

    K8s - Didacticiels

    Débuter

    Se connecter à l'UI Rancher

    cegedim.cloud utilise Rancher comme plateforme de gestion de Kubernetes.

    Rancher supporte la même authentification SSO que ITCare.

    Instances Rancher

    Selon la localisation de votre cluster, Rancher est accessible avec les URL suivantes :

    Region

    Dans ITCare, vous pouvez trouver l'URL de votre cluster dans la page de détail de celui-ci :

    Se connecter à Rancher

    Rancher demandera une authentification lors de la première connexion : cliquez simplement sur "Login with Keycloak".

    Vous serez ensuite redirigé vers la mire de connexion :

    Une fois connecté, vous devriez avoir un écran listant tous les clusters auxquels vous avez accès :

    Si l'interface se coince après l'authentification, merci d'essayer ces liens :

    Si lors de la première connexion vous ne voyez pas votre cluster dans la liste des clusters, vous pouvez vous déconnecter et vous reconnecter.

    Gérer vos préférences

    Vous pouvez gérer vos préférences d'interface utilisateur (thème sombre, nombre de lignes par tableau...) en configurant vos préférences utilisateur. Veuillez vous référer ici à la documentation complète ci-dessous.

    Configurer kubectl

    Afin de se connecter au cluster en utilisant la CLI, vous avez deux options :

    • par kubectl normal à distance

    • en utilisant rancher online kubectl.

    Les deux sont disponibles en accédant à la page "cluster" dans Rancher.

    Il y a deux façons de le faire :

    • Cliquez sur le nom du cluster dans la liste des clusters.

    • Cliquez sur le nom du cluster dans le menu supérieur gauche.

    En utilisant le fichier de configuration kubectl

    Une fois sur la page d'accueil du cluster, vous pouvez télécharger le "KubeConfig File" :

    Ou bien juste copier le contenu du "Kubeconfig File" :

    Si vous ne disposez pas dekubectl,nous vous conseillons vivement d'installer kubectlsur votre poste d'administration en suivant le lien ci-dessous.

    Cette configuration peut être mélangée avec d'autres configurations kubectl.

    L'authentification peut être partagée avec tout cluster géré par la même instance de rancher.

    Utilisation du cli web

    Une fois sur la page d'accueil du cluster, vous pouvez utiliser le web CLI en cliquant sur l'icône ci-dessous:

    Cela devrait lancer un shell web comme celui-ci :

    Ce shell est temporaire, tout changement effectué à l'intérieur sera supprimé une fois la fenêtre fermée.

    Cette session peut être déconnectée si aucune entrée/sortie n'est observée.

    Obtenir un jeton API

    La gestion des jetons est disponible juste en dessous de l'avatar de l'utilisateur :

    Portée des jetons

    Il existe deux champs d'application :

    • no-scope : global scope : utilisé pour interagir avec l'API globale de Rancher

    • cluster-scoped : jeton dédié à l'accès à un cluster spécifique

    Un jeton à portée de cluster est nécessaire pour utiliser helm 3. Cela signifie que vous avez besoin d'un jeton par cluster dans vos pipelines CI/CD

    Cycle de vie des jetons

    Les jetons peuvent avoir des cycles de vie différents :

    • Une durée de vie illimitée, il suivra le cycle de vie du compte qui lui est rattaché

    • Une durée limitée

    Gestion des nœuds

    Redimensionner un cluster

    Vous pouvez utiliser ITCare pour ajouter ou supprimer des nœuds à votre cluster.

    Gérer les Namespaces

    Comprendre les projets - Un concept de Rancher

    Rancher gère les espaces de noms via project, qui est un concept n'existant spécifiquement que dans les clusters Kubernetes gérés par Rancher.

    Le projet n'est pas une ressource native de Kubernetes. Par défaut, un cluster Kubernetes est provisionné avec 2 projets :

    • System : contenant les espaces de noms des composants principaux comme : kube-system, etc.

    • Default : contenant l'espace de noms "par défaut".

    Les utilisateurs sont libres de créer d'autres projets si nécessaire. En se basant sur le niveau du projet, Rancher offre une automatisation intégrée comme : l'octroi de droits d'accès, l'isolation du réseau, etc.

    Les utilisateurs sont fortement encouragés à classer les espaces de noms dans un projet.

    Comment créer correctement un espace de noms

    • Passer à la vue projet

    • Créer un nouvel espace de noms à partir de la vue du projet

    • Insérez un nom unique et remplissez les autres champs si nécessaire, puis cliquez sur "Créer"

    Si vous créez un espace de noms avec le CLI de kubernetes, par exemple kubectl, l'espace de noms créé sera déplacé dans le projet parent de l'espace de noms "default" (qui est, par défaut, le projet nommé Default).

    Gestion des droits

    cegedim.cloud recommande et supporte officiellement la gestion des droits d'accès via les groupes AD.

    Seuls les groupes AD commençant par G_EMEA_* et G_K8_* sont connus par Rancher.

    Par défaut, lors de la création d'un cluster :

    • Le rôle d'utilisateur standard est donné au groupe G_K8_<NOM_DU_CLUSTER>_USERS qui contient les power users du Cloud associé.

    • Le rôle d'administrateur est attribué au groupe G_K8_<NOM_DU_CLUSTER>_ADMINS qui est vide par défaut et peut être complété par des utilisateurs compétents et certifiés via un ticket ITCare vers l'équipe de support AD.

    Par exemple, l’utilisateur [email protected] a besoin d’accès standard au cluster test-preprod, il doit faire une demande pour l'ajouter dans le groupe AD nommé G_K8_TEST_PREPROD_USERS.

    Lorsque les utilisateurs créent un nouveau projet, en tant que propriétaire par défaut, ils sont libres de lier n'importe quel rôle à n'importe quel groupe AD dans le cadre de ce projet.

    Si les rôles prédéfinis de Rancher ne peuvent pas répondre à vos besoins, veuillez contacter les administrateurs de votre cluster pour configurer un rolebinding personnalisé ou un clusterrolebinding.

    Gérer les droits

    Gestion des droits au niveau du projet

    Dans cette partie, nous supposerons que les droits sont donnés à un groupe et non à un utilisateur.

    Pour gérer les droits sur un projet, il existe deux moyens : L'interface utilisateur ou l'API.

    L'un des rôles les plus élevés que vous pouvez attribuer est "Project Admin".

    Utilisation de l'interface utilisateur

    Éditez le projet dont vous êtes propriétaire ou sur lequel vous avez suffisamment de droits accordé par le propriétaire.

    Sélectionnez le groupe et le rôle dans la formulaire.

    A noter que seuls les groupes préfixés par G_EMEA_* and G_K8_* sont reconnus par Rancher.

    Utilisation de l'API

    En utilisant l'API, c'est assez simple. Vous aurez d'abord besoin de quelques paramètres :

    • Obtenir l'ID du projet

    Pour obtenir l'ID du projet, vous pouvez utiliser l'explorateur d'API en utilisant simplement le bouton "View in API".

    • Obtenir l'ID du rôle

    Pour obtenir l'ID du rôle, il se peut que vous ne soyez pas autorisé à l'afficher via l'interface utilisateur, mais vous l'obtiendrez via cette requête API :

    • Donner des autorisations

    En utilisant votre clé API, vous pouvez faire une demande POST pour créer le lien de rôle :

    Vérification de compatibilité avant une mise à jour de version Kubernetes

    Contexte

    Les version api de ressources Kubernetes peuvent être obsolètes, voire supprimés lors de la mise à jour de version Kubernetes.

    Il y a une risque de cassure si vous avez des ressources avec une version api supprimé dans la nouvelle version de Kubernetes.

    Pour éviter cela, une des solutions est d'utiliser l'outil "kubent" pour vérifier la compatibilité .

    Kubent détecte les objets obsolètes du cluster Kubernetes. Vous devez migrer/modifier les ressources identifiés avant la mise à jour de version Kubernetes.

    Démarrage rapide

    Pour installer kubent :

    Pour identifier les objets obsolètes qui vont être supprimés dans la prochain version Kubernetes :

    Un exemple de l'output :

    Dans ce tutoriel, si votre cluster est planifié pour une mise à jour vers version Kubernetes 1.22, vous devez migrer votre resource ingress nommé "toto" de version api networking.k8s.io/v1beta1 vers networking.k8s.io/v1 avant la mise à jour.

    Cette migration peut impliquer une modification des champs supplémentaires de la ressource. Veillez consulter la documentation officielle :

    Kubent pourrait échouer de reporter certaine information, e.g. espace de nom de l'ingress, vous pouvez remonter l'issue à l'éditeur :

    Configurer le transfert et la centralisation des logs vers un cluster OpenSearch

    Contexte

    Dans cet exemple, nous allons configurer le transfert de logs d'un cluster Kubernetes vers un cluster OpenSearch.

    • Le cluster OpenSearch est dans cet exemple my-cluster.es.cegedim.cloud

    • Le nom de la sortie du cluster est my-cluster-output.

    Configuration du logging Banzai

    Dans Rancher, sous Logging > ClusterOutput et Logging > Output, modifiez la configuration YAML et changez ceci :

    ClusterFlow/ClusterOutput présentent de nombreux problèmes lors de l'envoi de logs à OpenSearch / ELK cluster : Conflit de type de valeur attendue avec la même clé (par exemple, une valeur changée de "long" à "string" sera rejetée par OpenSearch / ELK Cluster).

    Cela peut se produire isi vous avez activé Dynatrace.

    Voici des exemples complets de la spécification ClusterOutput/Output pour ElasticSearch et OpenSearch :

    Exemple pour OpenSearch
    Exemple pour ELK

    Recommandations en matière de migration

    Il y a deux options :

    • Migration vers Flow/ClusterOutput : poussera tous les logs des espaces de noms vers le même index OpenSearch.

    • Migration vers Flow/Output : poussera les logs des espaces de noms séparés vers des index OpenSearch dédiés.

    La recommandation est de migrer vers "Flow/Output", et même d'avoir un index OpenSearch dédié pour les applications très importantes.

    Migration de ClusterFlow/ClusterOutput vers Flow/ClusterOutput

    Créer un fichier avec tous les espaces de noms :

    Créer des fichiers K8s YAML pour configurer les logs sur tous les espaces de noms :

    Appliquer la configuration :

    Migration de ClusterFlow/ClusterOutput vers Flow/Output

    Créer un fichier avec tous les espaces de noms :

    Créer des fichiers K8S YAML :

    Appliquer la configuration :

    Déboguer si la perte de logs persiste

    Aucun tampon important ne devrait se produire si tout se passe bien. Vérifions le

    Vérifions les 5 dernières lignes du journal de Fluentd :

    Jetez un coup d'œil dans /fluentd/log/out à l'intérieur du pod fluentd, mais la plupart du temps, ce qui suit vous aidera :

    Il est facile d'identifier le pod à l'origine du problème :

    Il faut comprendre que l'erreur n'est pas dans Kubernetes, c'est le conteneur qui produit des logs incohérents au format json. Ensuite, OpenSearch rejette les journaux envoyés. Banzai réessayera et tôt ou tard, le débordement arrivera.

    Sources :

    Une solution à court terme peut être choisie ci-dessous :

    • Retirer le pod du flux (exclusion du pod) ou désactiver l'ensemble du flux de l'espace de noms concerné.

    • Nettoyer l'index lié dans le serveur ES

    Solution à long terme :

    • Adapter l'application pour produire un journal plus cohérent

    • Voir s'il est possible de configurer ES pour qu'il ignore gentiment, mais ne rejette pas, le paquet entier envoyé par Banzai.

    Vérification de compatibilité avant une mise à jour de version Kubernetes
    Vérification de compatibilité avant une mise à jour de version Kubernetes

    EB (Boulogne-Billancourt)

    https://k8s-eb.cegedim.cloud

    ET (Toulouse-Labège)

    https://k8s-et.cegedim.cloud

    https://k8s-et.cegedim.cloud/dashboard/home
    https://k8s-et.cegedim.cloud/dashboard/home
    https://kubernetes.io/docs/tasks/tools/install-kubectl/
    https://github.com/doitintl/kube-no-trouble/issues
    GitHub - doitintl/kube-no-trouble: Easily check your clusters for use of deprecated APIsGitHub
    Kubernetes DocumentationKubernetes
    opensearch-build/release-notes/opensearch-release-notes-2.11.1.md at main · opensearch-project/opensearch-buildGitHub
    Oracle Linuxwww.oracle.com
    Release RabbitMQ 3.13.0 · rabbitmq/rabbitmq-serverGitHub
    PostgreSQL: PostgreSQL 16 Press Kitwww.postgresql.org
    Responsibility assignment matrixWikipedia
    curl --request GET \
     --url https://k8s-eb.cegedim.cloud/v3/projects \
     --header 'authorization: Bearer token-tttt:token-of-doom'
    curl --request GET \
    --url https://rancher-staging.cegedim.cloud/v3/roleTemplates?name=Project%20Admin\
    --header 'authorization: Bearer token-tttt:token-of-doom'
    curl --request POST \
    --url https://k8s-eb.cegedim.cloud/v3/projectRoleTemplateBindings \
    --header 'authorization: Bearer token-tttt:token-of-doom' \
    --header 'content-type: application/json' \
    --data '{
    "projectId": "c-6t7f4:p-d43l6",
    "namespaceId":"",
    "groupPrincipalId":"keycloakoidc_group_group://G_EMEA_DUPER_GROUP",
    "roleTemplateId": "project-owner"
    }'
    sh -c "$(curl -sSL 'https://git.io/install-kubent')"
    kubent [--context my-cluster]
    ...
    __________________________________________________________________________________________
    >>> Deprecated APIs removed in 1.22 <<<
    ------------------------------------------------------------------------------------------
    KIND                       NAMESPACE      NAME                                   API_VERSION                         REPLACE_WITH (SINCE)
    Ingress                    <undefined>     toto                                 networking.k8s.io/v1beta1           networking.k8s.io/v1 (1.19.0)
    ...
        port: 443
        log_es_400_reason: true # useful to debug when no log is received in Opne Search / ELK
        suppress_type_name: true
        # Add this if the target is an Open Search cluster
        default_elasticsearch_version: "7"
        verify_es_version_at_startup: false
    spec:
      elasticsearch:
        buffer:
          chunk_limit_size: 256m
          compress: gzip
          flush_at_shutdown: true
          flush_interval: 60s
          flush_mode: interval
          flush_thread_count: 2
          queue_limit_length: 96
          retry_forever: true
          type: file
        flatten_hashes: true
        host: {{ ELK URL }}
        include_tag_key: true
        log_es_400_reason: true
        logstash_format: true
        logstash_prefix: {{ prefix }}
        password:
          valueFrom:
            secretKeyRef:
              key: password
              name: {{ ELK credentials }}
        port: 443
        reconnect_on_error: true
        reload_connections: false
        reload_on_failure: true
        request_timeout: 30s
        scheme: https
        ssl_verify: false
        suppress_type_name: true
        user: {{ username }}
        default_elasticsearch_version: "7"
        verify_es_version_at_startup: false
    spec:
      elasticsearch:
        buffer:
          chunk_limit_size: 256m
          compress: gzip
          flush_at_shutdown: true
          flush_interval: 60s
          flush_mode: interval
          flush_thread_count: 2
          queue_limit_length: 96
          retry_forever: true
          type: file
        flatten_hashes: true
        host: {{ ELK URL }}
        include_tag_key: true
        log_es_400_reason: true
        logstash_format: true
        logstash_prefix: {{ prefix }}
        password:
          valueFrom:
            secretKeyRef:
              key: password
              name: {{ ELK credentials }}
        port: 443
        reconnect_on_error: true
        reload_connections: false
        reload_on_failure: true
        request_timeout: 30s
        scheme: https
        ssl_verify: false
        suppress_type_name: true
        user: {{ username }}
    Define namespaces
    mkdir -p log-config
    kubectl get ns --no-headers |grep -v kube-system|\
    grep -v cattle|\
    grep -v dynatrace|\
    grep -v ceg-it|\
    grep -v ingress-nginx|awk '{print $1}' > namespaces.txt
    # review namespaces.txtD
    Create flow resources
    while read LOG_NS
    do
      cat <<EOF>> log-config/"configuration-"$LOG_NS".yaml"
    apiVersion: logging.banzaicloud.io/v1beta1
    kind: Flow
    metadata:
      name: all-namespace-logs
      namespace: $LOG_NS
    spec:
      filters:
      - dedot:
          de_dot_nested: true
          de_dot_separator: '-'
      globalOutputRefs:
      - my-cluster-output
    EOF
    done < namespaces.txt
    # review content of folder log-config
    kubectl apply -f log-config
    mkdir -p log-config
    kubectl get ns --no-headers |grep -v kube-system|\
    grep -v cattle|\
    grep -v dynatrace|\
    grep -v ceg-it|\
    grep -v ingress-nginx|awk '{print $1}' > namespaces.txt
    # review namespace.txt
    while read LOG_NS
    do
      kubectl -n cattle-logging-system get secret {{ ELK credentials }} -o json \
     | jq 'del(.metadata["namespace","creationTimestamp","resourceVersion","selfLink","uid"])' \
     | kubectl apply -n $LOG_NS -f -
      cat <<EOF>> log-config/"configuration-"$LOG_NS".yaml"
    apiVersion: logging.banzaicloud.io/v1beta1
    kind: Output
    metadata:
      name: all-ns
      namespace: $LOG_NS
    spec:
      elasticsearch:
        buffer:
          chunk_limit_size: 256m
          compress: gzip
          flush_at_shutdown: true
          flush_interval: 60s
          flush_mode: interval
          flush_thread_count: 2
          queue_limit_length: 96
          retry_forever: true
          type: file
        flatten_hashes: true
        host: my-cluster.es.cegedim.cloud
        include_tag_key: true
        log_es_400_reason: true
        logstash_format: true
        logstash_prefix: {{ prefix }}
        password:
          valueFrom:
            secretKeyRef:
              key: password
              name: {{ ELK credentials }}
        port: 443
        reconnect_on_error: true
        reload_connections: false
        reload_on_failure: true
        request_timeout: 30s
        scheme: https
        ssl_verify: false
        suppress_type_name: true
        user: {{ username }}
    ---
    apiVersion: logging.banzaicloud.io/v1beta1
    kind: Flow
    metadata:
      name: all-namespace-logs
      namespace: $LOG_NS
    spec:
      filters:
      - dedot:
          de_dot_nested: true
          de_dot_separator: '-'
      globalOutputRefs: []
      localOutputRefs:
      - all-ns
    EOF
    done < namespaces.txt
    # review content of folder log-config
    kubectl apply -f log-config
    kubectl -n cattle-logging-system get po -l app.kubernetes.io/name=fluentd -o name|awk '{print $1}'|xargs -I {} sh -c "kubectl -n cattle-logging-system exec {} -c fluentd -- du -hs /buffers"
    kubectl -n cattle-logging-system get po -l app.kubernetes.io/name=fluentd -o name|awk '{print $1}'|xargs -I {} sh -c "kubectl -n cattle-logging-system exec {} -c fluentd -- tail -5  /fluentd/log/out"
    kubectl -n cattle-logging-system get po -l app.kubernetes.io/component=fluentd --no-headers|awk '{print $1}'|xargs -I {} sh -c "kubectl -n cattle-logging-system exec -it  {} -c fluentd -- cat /fluentd/log/out|grep 'Rejected'"
    2023-01-20 10:53:38 +0000 [warn]: #0 send an error event to @ERROR: error_class=Fluent::Plugin::ElasticsearchErrorHandler::ElasticsearchError error="400 - Rejected by Elasticsearch [error type]: mapper_parsing_exception [reason]: 'failed to parse field [stack_trace] of type [text] in document with id 'L7fQzoUBIs35W4-JCcJQ'. Preview of field's value: '{source=    at reconcileChildFibers (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:14348:23)}''" location=nil tag="kubernetes.var.log.containers.log-service-deployment-57747558f8-52jgx_my-application_log-service-6c560e016f7241b3231b96ed358390d8a2170b175833a695705c952183dcda5e.log" time=2023-01-20 10:52:33.431659917 +0000
    kubectl get po -A |grep log-service-deployment-57747558f8
                      my-application                         log-service-deployment-57747558f8-52jgx                          1/1     Running                 0          4d20h
    Logo

    Produits

    Plusieurs produits sont disponibles au catalogue cegedim.cloud.

    Ils sont classés par catégories dans les sections ci-dessous afin d'en avoir un aperçu rapide et la possibilité de naviguer directement vers la documentation publique associée.

    La grande majorité de ces produits sont disponibles en self-service via ITCare, notre outil de gestion de plateforme cloud.

    Pour plus d'informations sur nos offres commerciales, merci de consulter notre site officiel.

    Calcul

    Les managées cegedim.cloud sont toutes, sauf AIX, disponibles à la consommation en libre-service via notre plateforme de gestion de cloud appelée ITCare.

    Elles sont hautement personnalisables (stockage, surveillance, sauvegarde, réplication) et redimensionnables (processeurs et mémoire). Elles offrent la meilleure flexibilité lorsqu'un produit n'est pas disponible en mode plateforme en tant que service (PaaS).

    Voici les systèmes d'exploitation et distributions supportés par cegedim.cloud :

    • Linux

      • Debian

      • Ubuntu

      • Centos

    Les sont des clusters Kubernetes dédiés disponibles à la consommation en libre-service dans notre plateforme de gestion de cloud nommé ITCare.

    Kubernetes est une plateforme d'orchestration de conteneurs open-source qui automatise le déploiement, la mise à l'échelle et la gestion des applications conteneurisées. Elle est fournie en tant que service géré par cegedim.cloud et bénéficie de l'infrastructure, des opérations et du support que nous fournissons.

    Cela inclut des fonctionnalités telles que la mise à l'échelle, la surveillance, les correctifs de sécurité et le déploiement simplifié, ce qui permet aux développeurs et aux équipes de se concentrer sur le développement d'applications et d'éviter les complexités liées à la gestion de l'infrastructure sous-jacente.

    Analytique

    est un PaaS disponible à la consommation en libre-service via notre plateforme de gestion de cloud nommé ITCare.

    Selon le dimensionnement choisi pour faire face au nombre de pages suivies par mois, plusieurs composants seront déployés et managés par cegedim.cloud afin de vous permettre de vous focaliser sur l'utilisation et la configuration de Matomo.

    Base de données

    est un PaaS disponible à la consommation en libre-service via notre plateforme de gestion de cloud nommé ITCare.

    Instance autonome
    Cluster Galera

    Message

    est un PaaS disponible à la consommation en libre-service via notre plateforme de gestion de cloud nommé ITCare.

    Cluster

    Sécurité

    La solution est un service d'analyse et de détection de vulnérabilités sur vos ressources exposées sur Internet.

    Ce service n'est pas disponible en libre-service et nécessite une prise de contact avec l'équipe commerciale de cegedim.cloud.

    est une fonctionnalité de protection contre les bots malicieux ainsi que les dénis de service distribués.

    Elle est activable individuellement sur vos répartiteurs de charge directement depuis notre plateforme de gestion de cloud nommé ITCare.

    Surveillance

    La solution de supervision avancée basée sur permet d'accéder à des tableaux de bords détaillés sur vos ressources.

    Ce service est activable en libre-service via notre plateforme de gestion de cloud nommé ITCare.

    Stockage

    est un système de fichiers distribué open-source qui permet un stockage évolutif et performant sur plusieurs serveurs. Il regroupe les ressources de stockage de plusieurs machines en un seul pool de stockage, offrant un espace de noms unique pour faciliter la gestion et l'accès.

    Grâce à sa capacité à évoluer et à gérer de grandes quantités de données, GlusterFS offre des avantages tels que l'amélioration de la capacité de stockage, la tolérance aux pannes et la haute disponibilité pour diverses applications et charges de travail.

    GlusterFS est un PaaS disponible à la consommation en libre-service via notre plateforme de gestion de cloud nommé ITCare.

    Cluster

    Red Hat Linux Enterprise (RHEL)

  • Windows Server

  • AIX

  • 4 - 384 Go

    4 - 384 Go

    Stockage (par instance)

    10 - 2048 Go

    10 - 2048 Go

    Version(s) supportée(s)

    • 10.11

    • 10.6

    • 10.11

    • 10.6

    Surveillance

    ✅ Option

    ✅ Option

    Surveillance 24/7

    ✅ Option

    ✅ Option

    Sauvegarde

    ✅ Option

    ✅ Option

    Réplication (PRA)

    ✅ Option

    ✅ Option

    Disponibilité

    99,8%

    99,9%

    Déploiement Multi-AZ

    ❌

    ✅

    OpenSearch est un PaaS disponible à la consommation en libre-service via notre plateforme de gestion de cloud nommé ITCare.

    Cluster

    Instances

    3 - 5+

    CPU (par instance)

    2 - 16 vCPU

    RAM (par instance)

    4 - 384 Go

    Stockage (par instance)

    PostgreSQL est un PaaS disponible à la consommation en libre-service via notre plateforme de gestion de cloud nommé ITCare.

    Instance autonome
    Haute disponibilité

    Instance

    1

    2

    CPU (par instance)

    2 - 16 vCPU

    2 - 16 vCPU

    Redis est un PaaS disponible à la consommation en libre-service via notre plateforme de gestion de cloud nommé ITCare.

    Instance autonome
    Cluster

    Instance(s)

    1

    3

    CPU (par instance)

    2 - 16 vCPU

    2 - 16 vCPU

    RAM (par instance)

    SQL Server est un PaaS disponible à la consommation en libre-service via notre plateforme de gestion de cloud nommé ITCare.

    Instance autonome
    Always On

    Instance(s)

    1

    3

    CPU (par instance)

    2 - 16 vCPU

    2 - 16 vCPU

    RAM (par instance)

    Stockage

    40 - 1024 Go

    Version(s) supportée(s)

    3.6.0

    Surveillance

    ✅ Option

    Surveillance 24/7

    ✅ Option

    Sauvegarde

    ✅ Option

    Réplication (PRA)

    ✅ Option

    Disponibilité

    99.9%

    Déploiement Multi-AZ

    ✅

    RabbitMQest un PaaS disponible à la consommation en libre-service via notre plateforme de gestion de cloud nommé ITCare.

    Instance autonome
    Cluster

    Instances

    1

    3

    CPU (par instance)

    2 - 16 vCPU

    2 - 16 vCPU

    RAM (par instance)

    Le service Campagne de Phishing est un service sur mesure qui permet d'évaluer l'efficacité de la sensibilisation à la sécurité du courrier électronique.

    Ce service n'est pas disponible en libre-service et nécessite une prise de contact avec l'équipe commerciale de cegedim.cloud.

    La solution Data Masking transforme les données sensibles contenues dans les bases de données en données moins sensibles, selon vos propres spécifications et besoins.

    Ce service n'est pas disponible en libre-service et nécessite une prise de contact avec l'équipe commerciale de cegedim.cloud.

    CPU (par instance)

    2 vCPU

    RAM (par instance)

    4 Go

    Version(s) supportée(s)

    10.2

    Surveillance

    ✅ Option

    Surveillance 24/7

    ✅ Option

    Sauvegarde

    ✅ Option

    Réplication (PRA)

    ✅ Option

    Disponibilité

    99.9%

    Déploiement Multi-AZ

    ✅

    La solution de Stockage Objet compatible S3 (Simple Storage Service) de cegedim.cloud est un service de stockage basé dans le cloud. Elle offre un stockage évolutif, sécurisé et durable pour différents types de données, notamment des fichiers, des images, des vidéos et des sauvegardes.

    Les avantages d'une solution de stockage d'objets S3 comprennent une haute disponibilité, un stockage à faible coût, des contrôles d'accès flexibles, une redondance automatique des données et la possibilité de choisir différents fournisseurs et d'éviter la dépendance à l'égard d'un fournisseur.

    Fonctionnalités
    Disponibilité

    Compatibilité S3

    ✅

    Géo-réplication

    Instances

    1

    3

    CPU (par instance)

    2 - 16 vCPU

    2 - 16 vCPU

    Brokers

    3+

    Contrôleurs

    3

    CPU (par broker)

    2 - 16 vCPU

    RAM (par broker)

    Instance(s)

    2

    Instances virtuelles
    Conteneurs (K8s)
    Matomo
    MariaDB
    Apache Kafka
    Advanced Vulnerability Assessment
    Bot Defense
    ExtraHop
    GlusterFS

    RAM (par instance)

    4 - 384 Go

    MariaDB FoundationMariaDB.org
    Logo
    Logo
    Logo
    Logo
    Logo
    Logo

    100 - 8000 Go

    Version(s) supportée(s)

    2.x

    Surveillance

    ✅ Option

    Surveillance 24/7

    ✅ Option

    Sauvegarde

    ✅ Option

    Réplication (PRA)

    ✅ Option

    Disponibilité

    99,9%

    Déploiement Multi-AZ

    ✅

    RAM (par instance)

    4 - 384 Go

    4 - 384 Go

    Stockage (par instance)

    10 - 2048 Go

    10 - 2048 Go

    Versions supportées

    10 à 16

    12 à 16

    Surveillance

    ✅ Option

    ✅ Option

    Surveillance 24/7

    ✅ Option

    ✅ Option

    Sauvegarde

    ✅ Option

    ✅ Option

    Réplication (PRA)

    ✅ Option

    ✅ Option

    Disponibilité

    99,8%

    99,9%

    Déploiement Multi-AZ

    ❌

    ✅

    4 - 384 Go

    4 - 384 Go

    Stockage (par instance)

    10 - 2048 Go

    10 - 2048 Go

    Version(s) supportée(s)

    • 7.2

    • 6.2

    • 7.2

    • 6.2

    Surveillance

    ✅ Option

    ✅ Option

    Surveillance 24/7

    ✅ Option

    ✅ Option

    Sauvegarde

    ✅ Option

    ✅ Option

    Réplication (PRA)

    ✅ Option

    ✅ Option

    TLS/SSL

    ✅ Option

    ✅ Option

    Disponibilité

    99,8%

    99.9%

    Déploiement Multi-AZ

    ❌

    ✅

    4 - 384 Go

    4 - 384 Go

    Stockage (par instance)

    10 - 4096 Go

    10 - 4096 Go

    Version(s) supportée(s)

    • 2022

    • 2019

    • 2017

    • 2016

    • 2022

    • 2019

    • 2017

    • 2016

    Surveillance

    ✅ Option

    ✅ Option

    Surveillance 24/7

    ✅ Option

    ✅ Option

    Sauvegarde

    ✅ Option

    ✅ Option

    Réplication (PRA)

    ✅ Option

    ✅ Option

    Disponibilité

    99,8%

    99.9%

    Déploiement Multi-AZ

    ❌

    ✅

    4 - 384 Go

    4 - 384 Go

    Stockage (par instance)

    10 - 2048 Go

    10 - 2048 Go

    Version(s) supportée(s)

    3.13

    3.13

    Surveillance

    ✅ Option

    ✅ Option

    Surveillance 24/7

    ✅ Option

    ✅ Option

    Sauvegarde

    ✅ Option

    ✅ Option

    Réplication (PRA)

    ✅ Option

    ✅ Option

    Disponibilité

    99,8%

    99,9%

    Déploiement multi-AZ

    ❌

    ✅

    ✅ Option

    Quota

    ✅ Option

    Object Lock

    ✅ Option

    Cycle de vie des fichiers

    ✅ Option

    URLs pré-signées

    ✅ Option

    OpenSearchOpenSearch
    PostgreSQLPostgreSQL
    ignore_malformed | Elasticsearch Guide [7.0] | ElasticElastic
    Logo
    Using RBAC AuthorizationKubernetes
    https://rancher.com/docs/rancher/v2.x/en/user-settings/preferences/rancher.com
    Cluster and Project Roles | Rancherranchermanager.docs.rancher.com
    Elasticsearch rejecting records because of parsing errorDiscuss the Elastic Stack
    Logo
    Services - Cegedim CloudCegedim Cloud
    Apache KafkaApache Kafka
    Logo
    Logo
    Logo
    Redis - The Real-time Data PlatformRedis
    Logo
    HomepageGluster
    RabbitMQ: One broker to queue them all | RabbitMQwww.rabbitmq.com
    Logo
    Logo
    Logo
    Logo
    Logo
    Logo
    Global Transaction ID | Server | MariaDB Documentationmariadb.com
    Logo