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

Instances

PreviousEnvironmentsNextPlatform

Last updated 4 months ago

Get snapshot of a resource. Only one active snapshot is allowed and the snapshot is kept during 3 days in our system.

get
Authorizations
Path parameters
idinteger · int64Required

Resource Id, example: 123

Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
get
GET /itcare/compute/instances/{id}/snapshots HTTP/1.1
Host: api.cegedim.cloud
Accept: */*
{
  "changeReference": "text",
  "createdAt": "2025-05-08T22:40:00.750Z",
  "createdBy": "text",
  "description": "text",
  "expiresAt": "2025-05-08T22:40:00.750Z",
  "id": "text",
  "label": "text",
  "recoveredAt": "2025-05-08T22:40:00.750Z",
  "snapshotSize": 1
}

Recover a snapshot for a resource.

patch
Authorizations
Path parameters
idinteger · int64Required

Resource Id, example: 123

Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
patch
PATCH /itcare/compute/instances/{id}/snapshots HTTP/1.1
Host: api.cegedim.cloud
Accept: */*
{
  "family": "text",
  "id": 1,
  "internalId": 1,
  "lastUpdatedAt": "2025-05-08T22:40:00.750Z",
  "message": "text",
  "process": "text",
  "resourceName": "text",
  "resourceType": "text",
  "status": "SUCCESS,IN_PROGRESS,ERROR"
}

Get detailled information for an instance.

get
Authorizations
Path parameters
idinteger · int64Required

Resource Id, example: 123

Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
get
GET /itcare/compute/instances/{id} HTTP/1.1
Host: api.cegedim.cloud
Accept: */*
{
  "area": {
    "availabilityZones": [
      {
        "availabilityZoneGroup": "text",
        "datacenterId": "text",
        "defaultZone": true,
        "id": "text",
        "location": "text",
        "routable": true
      }
    ],
    "defaultArea": true,
    "id": "text",
    "location": "text",
    "regulation": "text"
  },
  "authenticationDomain": "text",
  "availabilityZone": {
    "availabilityZoneGroup": "text",
    "datacenterId": "text",
    "defaultZone": true,
    "id": "text",
    "location": "text",
    "routable": true
  },
  "backup": {
    "backupSystem": "text",
    "filesNb": 1,
    "lastDate": "2025-05-08T22:40:00.750Z",
    "size": 1,
    "type": "text"
  },
  "backupPolicyDetails": {
    "backups": [
      {
        "backupLastDate": "2025-05-08T22:40:00.750Z",
        "backupSize": 1,
        "id": 1,
        "type": "text"
      }
    ],
    "policies": [
      {
        "backupLastDate": "2025-05-08T22:40:00.750Z",
        "backupSize": 1,
        "durationInHours": 1,
        "frequencies": {},
        "label": "text",
        "name": "text",
        "policyId": "text",
        "replication": true,
        "scope": "text",
        "startTime": "text",
        "timezone": "text",
        "type": "text"
      }
    ]
  },
  "backupStatus": true,
  "category": "text",
  "cloudId": 1,
  "cloudName": "text",
  "comment": "text",
  "cpu": 1,
  "creationTime": "text",
  "creationUser": "text",
  "endOfSalesAt": "2025-05-08T22:40:00.750Z",
  "endOfSupportAt": "2025-05-08T22:40:00.750Z",
  "environment": "text",
  "extendedSupportAt": "2025-05-08T22:40:00.750Z",
  "family": "text",
  "id": 1,
  "imageCode": "text",
  "internalResourceId": 1,
  "internalType": "text",
  "ipAddress": "text",
  "isExternalIngressNode": true,
  "isInternalIngressNode": true,
  "isMemberOFLoadBalancer": true,
  "label": "text",
  "labelArea": "text",
  "labelAvailabilityZone": "text",
  "labelDataCenter": "text",
  "labelRegion": "text",
  "loadbalancers": [
    {
      "id": 1,
      "memberCount": 1,
      "monitoringEnabled": true,
      "name": "text",
      "serviceId": 1,
      "status": "text"
    }
  ],
  "metrologyUrl": "text",
  "monitoringAlerting": true,
  "monitoringEnabled": true,
  "monitoringOnCallEnabled": true,
  "monitoringRequested": true,
  "name": "text",
  "network": {
    "area": "text",
    "cidr": "text",
    "cloud": "text",
    "defaultNetwork": true,
    "description": "text",
    "dns": [
      {
        "alias": "text",
        "domain": "text"
      }
    ],
    "environment": "text",
    "gateway": "text",
    "id": 1,
    "ipAddress": "text",
    "ipFreeNumber": 1,
    "isIpRangePublic": true,
    "mask": "text",
    "networkShortDescription": "text",
    "region": "text",
    "scope": "text",
    "shortDescription": "text",
    "technicalId": "text",
    "usedPercent": 1
  },
  "osName": "text",
  "osType": "text",
  "parentResourceType": "text",
  "patchParty": {
    "excluded": true,
    "excludedBy": "text",
    "exclusionDate": "2025-05-08T22:40:00.750Z",
    "exclusionReason": "text",
    "id": 1,
    "name": "text",
    "patchDate": "2025-05-08T22:40:00.750Z",
    "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-05-08T22:40:00.750Z",
  "replication": {
    "noStoRplExplanation": "text",
    "storageClass": "text",
    "storageClassOverride": "text",
    "storageMoveInProgress": true,
    "storageMoveTicket": "text",
    "storageReplicationClass": "text"
  },
  "replicationStatus": true,
  "resourceType": "text",
  "serviceId": 1,
  "serviceKey": "text",
  "serviceName": "text",
  "snapshot": {
    "changeReference": "text",
    "createdAt": "2025-05-08T22:40:00.750Z",
    "createdBy": "text",
    "description": "text",
    "expiresAt": "2025-05-08T22:40:00.750Z",
    "id": "text",
    "label": "text",
    "recoveredAt": "2025-05-08T22:40:00.750Z",
    "snapshotSize": 1
  },
  "status": "text",
  "storage": 1,
  "storageInformation": {
    "fileSystems": [
      {
        "free": 1,
        "mountingPoint": "text",
        "sizeOf": 1,
        "type": "text"
      }
    ],
    "totalSizeDisks": 1,
    "totalSizeFileSystems": 1
  },
  "storageMoveInProgress": true,
  "supportPhase": "text",
  "technology": "text",
  "type": "text"
}

Get storage information of a resource.

get
Authorizations
Path parameters
idinteger · int64Required

Resource Id, example: 123

Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
get
GET /itcare/compute/instances/{id}/storage HTTP/1.1
Host: api.cegedim.cloud
Accept: */*
{
  "fileSystems": [
    {
      "free": 1,
      "mountingPoint": "text",
      "sizeOf": 1,
      "type": "text"
    }
  ],
  "totalSizeDisks": 1,
  "totalSizeFileSystems": 1
}

Get network information of a resource.

get
Authorizations
Path parameters
idinteger · int64Required

Resource Id, example: 123

Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
get
GET /itcare/compute/instances/{id}/networks HTTP/1.1
Host: api.cegedim.cloud
Accept: */*
{
  "area": "text",
  "cidr": "text",
  "cloud": "text",
  "defaultNetwork": true,
  "description": "text",
  "dns": [
    {
      "alias": "text",
      "domain": "text"
    }
  ],
  "environment": "text",
  "gateway": "text",
  "id": 1,
  "ipAddress": "text",
  "ipFreeNumber": 1,
  "isIpRangePublic": true,
  "mask": "text",
  "networkShortDescription": "text",
  "region": "text",
  "scope": "text",
  "shortDescription": "text",
  "technicalId": "text",
  "usedPercent": 1
}

Remove snapshot from a resource. The Id of the snapshot of is retrieved using [getSnapshot](#/instances/getSnapshot of the resource)

delete
Authorizations
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
DELETE /itcare/compute/instances/{id}/snapshots/{snapshotId} HTTP/1.1
Host: api.cegedim.cloud
Accept: */*
{
  "family": "text",
  "id": 1,
  "internalId": 1,
  "lastUpdatedAt": "2025-05-08T22:40:00.750Z",
  "message": "text",
  "process": "text",
  "resourceName": "text",
  "resourceType": "text",
  "status": "SUCCESS,IN_PROGRESS,ERROR"
}
  • GETList Instances
  • POSTCreate an instance
  • GETGet snapshot of a resource. Only one active snapshot is allowed and the snapshot is kept during 3 days in our system.
  • POSTCreate a snapshot for a resource.
  • PATCHRecover a snapshot for a resource.
  • GETGet detailled information for an instance.
  • DELETEDelete an existing instance
  • PATCHPerforms action on an existing instance
  • GETGet storage information of a resource.
  • GETGet network information of a resource.
  • DELETERemove snapshot from a resource. The Id of the snapshot of is retrieved using [getSnapshot](#/instances/getSnapshot of the resource)

List Instances

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

monitoringStatusbooleanOptional

Filter list by monitoring status

monitoringOnCallStatusbooleanOptional

Filter list by monitoring on call status

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
GET /itcare/compute/instances HTTP/1.1
Host: api.cegedim.cloud
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-05-08T22:40:00.750Z",
        "size": 1,
        "type": "text"
      },
      "backupPolicyDetails": {
        "backups": [
          {
            "backupLastDate": "2025-05-08T22:40:00.750Z",
            "backupSize": 1,
            "id": 1,
            "type": "text"
          }
        ],
        "policies": [
          {
            "backupLastDate": "2025-05-08T22:40:00.750Z",
            "backupSize": 1,
            "durationInHours": 1,
            "frequencies": {},
            "label": "text",
            "name": "text",
            "policyId": "text",
            "replication": true,
            "scope": "text",
            "startTime": "text",
            "timezone": "text",
            "type": "text"
          }
        ]
      },
      "backupStatus": true,
      "category": "text",
      "cloudId": 1,
      "cloudName": "text",
      "comment": "text",
      "cpu": 1,
      "creationTime": "text",
      "creationUser": "text",
      "endOfSalesAt": "2025-05-08T22:40:00.750Z",
      "endOfSupportAt": "2025-05-08T22:40:00.750Z",
      "environment": "text",
      "extendedSupportAt": "2025-05-08T22:40:00.750Z",
      "family": "text",
      "id": 1,
      "imageCode": "text",
      "internalResourceId": 1,
      "internalType": "text",
      "ipAddress": "text",
      "isExternalIngressNode": true,
      "isInternalIngressNode": true,
      "isMemberOFLoadBalancer": true,
      "label": "text",
      "labelArea": "text",
      "labelAvailabilityZone": "text",
      "labelDataCenter": "text",
      "labelRegion": "text",
      "loadbalancers": [
        {
          "id": 1,
          "memberCount": 1,
          "monitoringEnabled": true,
          "name": "text",
          "serviceId": 1,
          "status": "text"
        }
      ],
      "metrologyUrl": "text",
      "monitoringAlerting": true,
      "monitoringEnabled": true,
      "monitoringOnCallEnabled": true,
      "monitoringRequested": true,
      "name": "text",
      "network": {
        "area": "text",
        "cidr": "text",
        "cloud": "text",
        "defaultNetwork": true,
        "description": "text",
        "dns": [
          {
            "alias": "text",
            "domain": "text"
          }
        ],
        "environment": "text",
        "gateway": "text",
        "id": 1,
        "ipAddress": "text",
        "ipFreeNumber": 1,
        "isIpRangePublic": true,
        "mask": "text",
        "networkShortDescription": "text",
        "region": "text",
        "scope": "text",
        "shortDescription": "text",
        "technicalId": "text",
        "usedPercent": 1
      },
      "osName": "text",
      "osType": "text",
      "parentResourceType": "text",
      "patchParty": {
        "excluded": true,
        "excludedBy": "text",
        "exclusionDate": "2025-05-08T22:40:00.750Z",
        "exclusionReason": "text",
        "id": 1,
        "name": "text",
        "patchDate": "2025-05-08T22:40:00.750Z",
        "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-05-08T22:40:00.750Z",
      "replication": {
        "noStoRplExplanation": "text",
        "storageClass": "text",
        "storageClassOverride": "text",
        "storageMoveInProgress": true,
        "storageMoveTicket": "text",
        "storageReplicationClass": "text"
      },
      "replicationStatus": true,
      "resourceType": "text",
      "serviceId": 1,
      "serviceKey": "text",
      "serviceName": "text",
      "snapshot": {
        "changeReference": "text",
        "createdAt": "2025-05-08T22:40:00.750Z",
        "createdBy": "text",
        "description": "text",
        "expiresAt": "2025-05-08T22:40:00.750Z",
        "id": "text",
        "label": "text",
        "recoveredAt": "2025-05-08T22:40:00.750Z",
        "snapshotSize": 1
      },
      "status": "text",
      "storage": 1,
      "storageInformation": {
        "fileSystems": [
          {
            "free": 1,
            "mountingPoint": "text",
            "sizeOf": 1,
            "type": "text"
          }
        ],
        "totalSizeDisks": 1,
        "totalSizeFileSystems": 1
      },
      "storageMoveInProgress": true,
      "supportPhase": "text",
      "technology": "text",
      "type": "text"
    }
  ],
  "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
}

Create an instance

post

This method allows to create an instance.

You will have to know at the minimum :

  • where you want to host your instance (region attribute)
  • which platform you want (platform attribute)
  • 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,
	"platform": "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,
	"platform": "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.

Authorizations
Body

Describes the instance to be created.

areastringRequired

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

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.

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.

monitoringAlertingbooleanOptional

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

monitoringEnabledbooleanOptional

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

namestringRequired

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.

onCallSupervisionbooleanOptional

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

platformstringRequired

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
Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
post
POST /itcare/compute/instances HTTP/1.1
Host: api.cegedim.cloud
Content-Type: application/vnd.cegedim-it.v1+json
Accept: */*
Content-Length: 851

{
  "area": "text",
  "authenticationDomainId": "text",
  "availabilityZone": "text",
  "backupEnabled": true,
  "backupOffSiteEnabled": true,
  "cloudId": 1,
  "dbBackupPolicyId": "text",
  "monitoringAlerting": true,
  "monitoringEnabled": true,
  "name": "text",
  "networkId": 1,
  "noBackupProdReason": "text",
  "noMonitoringProdReason": "text",
  "noReplicationProdReason": "text",
  "onCallSupervision": true,
  "platform": "text",
  "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",
  "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-05-08T22:40:00.750Z",
  "message": "text",
  "process": "text",
  "resourceName": "text",
  "resourceType": "text",
  "status": "SUCCESS,IN_PROGRESS,ERROR"
}

Create a snapshot for a resource.

post
Authorizations
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
POST /itcare/compute/instances/{id}/snapshots HTTP/1.1
Host: api.cegedim.cloud
Content-Type: application/json
Accept: */*
Content-Length: 47

{
  "changeReference": "text",
  "description": "text"
}
{
  "family": "text",
  "id": 1,
  "internalId": 1,
  "lastUpdatedAt": "2025-05-08T22:40:00.750Z",
  "message": "text",
  "process": "text",
  "resourceName": "text",
  "resourceType": "text",
  "status": "SUCCESS,IN_PROGRESS,ERROR"
}

Delete an existing 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
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
DELETE /itcare/compute/instances/{id} HTTP/1.1
Host: api.cegedim.cloud
Content-Type: application/json
Accept: */*
Content-Length: 26

{
  "changeReference": "text"
}
{
  "family": "text",
  "id": 1,
  "internalId": 1,
  "lastUpdatedAt": "2025-05-08T22:40:00.750Z",
  "message": "text",
  "process": "text",
  "resourceName": "text",
  "resourceType": "text",
  "status": "SUCCESS,IN_PROGRESS,ERROR"
}

Performs action on an existing 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 Monitoring

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

Use the state option to turn on/off monitoring.

Use the alerting option to turn on/off alerting. When alerting is desactivated, no incident will be handled when the ressource is has alerts.

This method is asynchronous (status code 202).

PATCH /instances/1234
{
  "operation": "update_monitoring",
  "options": {
       "state": true,
       "alerting": false
 }
}

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.."    
    }
}
Authorizations
Path parameters
idinteger · int64Required

id, example: 123

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

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