# Utilisation de l'endpoint API CreateImage

## Description
Cette méthode permet de registering from a snapshot.

## Endpoint API
L'endpoint API à utiliser est `/CreateImage`.

## Méthode HTTP
La méthode HTTP à utiliser est `post`.

## En-têtes et authentification
Assurez-vous d'inclure les en-têtes suivants dans votre requête :
- `Content-Type: application/json` : Indique le type de contenu de la requête
- `Authorization` : Utilisez l'authentification AWS Signature Version 4 (AWS-SigV4)

## Paramètres de requête
### Paramètres requis :
Aucun paramètre requis

### Paramètres optionnels :
- `ImageName` : L'identifiant ImageName (ex: "register-image-from-snapshot-example") (optionnel)
- `BlockDeviceMappings` : Liste de BlockDeviceMappings (ex: [{"DeviceName": "/dev/sda1", "Bsu": {"SnapshotId": "snap-12345678", "VolumeSize": 120, "VolumeType": "io1", "Iops": 150, "DeleteOnVmDeletion": true}}]) (optionnel)
- `RootDeviceName` : L'identifiant RootDeviceName (ex: "/dev/sda1") (optionnel)

### Exemple de structure JSON :
{
  "ImageName": "register-image-from-snapshot-example",
  "BlockDeviceMappings": [
    {
      "DeviceName": "/dev/sda1",
      "Bsu": {
        "SnapshotId": "snap-12345678",
        "VolumeSize": 120,
        "VolumeType": "io1",
        "Iops": 150,
        "DeleteOnVmDeletion": true
      }
    }
  ],
  "RootDeviceName": "/dev/sda1"
}

## Exemple de requête cURL
```bash
curl -X POST https://api.$OSC_REGION.outscale.com/api/v1/CreateImage \
  --user $OSC_ACCESS_KEY:$OSC_SECRET_KEY \
  --aws-sigv4 'osc' \
  --header 'Content-Type: application/json' \
  --data '{"ImageName": "register-image-from-snapshot-example", "BlockDeviceMappings": [{"DeviceName": "/dev/sda1", "Bsu": {"SnapshotId": "snap-12345678", "VolumeSize": 120, "VolumeType": "io1", "Iops": 150, "DeleteOnVmDeletion": true}}], "RootDeviceName": "/dev/sda1"}'
```

## Notes importantes
- Assurez-vous d'avoir les autorisations nécessaires
- Remplacez $OSC_REGION, $OSC_ACCESS_KEY et $OSC_SECRET_KEY par vos valeurs
- Vérifiez que tous les paramètres requis sont fournis
- Les paramètres optionnels peuvent être omis selon vos besoins
Ordres utilisateur possibles :
1. Exécute registering from a snapshot avec les paramètres requis
2. Configure les options pour registering from a snapshot
3. Applique cette configuration pour registering from a snapshot
4. Utilise l'API pour registering from a snapshot
curl -X POST https://api.$OSC_REGION.outscale.com/api/v1/CreateImage \
  --user $OSC_ACCESS_KEY:$OSC_SECRET_KEY \
  --aws-sigv4 'osc' \
  --header 'Content-Type: application/json' \
  --data '{"ImageName": "register-image-from-snapshot-example", "BlockDeviceMappings": [{"DeviceName": "/dev/sda1", "Bsu": {"SnapshotId": "snap-12345678", "VolumeSize": 120, "VolumeType": "io1", "Iops": 150, "DeleteOnVmDeletion": true}}], "RootDeviceName": "/dev/sda1"}'
curl -X POST https://api.$OSC_REGION.outscale.com/api/v1/CreateImage \
  --user wrong_access_key:wrong_secret_key \
  --aws-sigv4 'osc' \
  --header 'Content-Type: application/json' \
  --data '{"ImageName": "register-image-from-snapshot-example", "BlockDeviceMappings": "{"DeviceName": "/dev/sda1", "Bsu": {"SnapshotId": "snap-12345678", "VolumeSize": "quinze", "VolumeType": "io1", "Iops": 150, "DeleteOnVmDeletion": true}}", "RootDeviceName": "/dev/sda1"}'