# Utilisation de l'endpoint API CreateVms

## Description
Cette méthode permet de creating a vm in a net.

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

## 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 :
- `ImageId` : L'identifiant ImageId (ex: "ami-12345678") (optionnel)
- `VmType` : L'identifiant VmType (ex: "tinav5.c1r1p2") (optionnel)
- `KeypairName` : L'identifiant KeypairName (ex: "keypair-example") (optionnel)
- `SecurityGroupIds` : Liste de SecurityGroupIds (ex: ["sg-12345678"]) (optionnel)
- `SubnetId` : L'identifiant SubnetId (ex: "subnet-12345678") (optionnel)
- `UserData` : L'identifiant UserData (ex: "...") (optionnel)

### Exemple de structure JSON :
{
  "ImageId": "ami-12345678",
  "VmType": "tinav5.c1r1p2",
  "KeypairName": "keypair-example",
  "SecurityGroupIds": [
    "sg-12345678"
  ],
  "SubnetId": "subnet-12345678",
  "UserData": "..."
}

## Exemple de requête cURL
```bash
curl -X POST https://api.$OSC_REGION.outscale.com/api/v1/CreateVms \
  --user $OSC_ACCESS_KEY:$OSC_SECRET_KEY \
  --aws-sigv4 'osc' \
  --header 'Content-Type: application/json' \
  --data '{"ImageId": "ami-12345678", "VmType": "tinav5.c1r1p2", "KeypairName": "keypair-example", "SecurityGroupIds": ["sg-12345678"], "SubnetId": "subnet-12345678", "UserData": "..."}'
```

## 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. Crée une VM dans un réseau spécifique
2. Déploie une instance avec des groupes de sécurité
3. Lance une VM dans un sous-réseau
4. Configure une machine virtuelle avec des paramètres réseau
curl -X POST https://api.$OSC_REGION.outscale.com/api/v1/CreateVms \
  --user $OSC_ACCESS_KEY:$OSC_SECRET_KEY \
  --aws-sigv4 'osc' \
  --header 'Content-Type: application/json' \
  --data '{"ImageId": "ami-12345678", "VmType": "tinav5.c1r1p2", "KeypairName": "keypair-example", "SecurityGroupIds": ["sg-12345678"], "SubnetId": "subnet-12345678", "UserData": "..."}'
curl -X POST https://api.$OSC_REGION.outscale.com/api/v1/CreateVms \
  --user wrong_access_key:wrong_secret_key \
  --aws-sigv4 'aws' \
  --header 'Content-Type: application/json' \
  --data '{"ImageId": "ami-12345678", "VmType": "tinav5.c1r1p2", "KeypairName": "keypair-example", "SecurityGroupIds": ["sg-12345678"], "SubnetId": "subnet-12345678", "UserData": "..."}'