# Utilisation de l'endpoint API CreateLoadBalancer

## Description
Cette méthode permet de creating an internal load balancer in a net.

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

## 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 :
- `LoadBalancerName` : L'identifiant LoadBalancerName (ex: "private-lb-example") (optionnel)
- `Listeners` : Liste de Listeners (ex: [{"BackendPort": 80, "BackendProtocol": "TCP", "LoadBalancerPort": 80, "LoadBalancerProtocol": "TCP"}]) (optionnel)
- `Subnets` : Liste de Subnets (ex: ["subnet-12345678"]) (optionnel)
- `SecurityGroups` : Liste de SecurityGroups (ex: ["sg-12345678"]) (optionnel)
- `LoadBalancerType` : L'identifiant LoadBalancerType (ex: "internal") (optionnel)

### Exemple de structure JSON :
{
  "LoadBalancerName": "private-lb-example",
  "Listeners": [
    {
      "BackendPort": 80,
      "BackendProtocol": "TCP",
      "LoadBalancerPort": 80,
      "LoadBalancerProtocol": "TCP"
    }
  ],
  "Subnets": [
    "subnet-12345678"
  ],
  "SecurityGroups": [
    "sg-12345678"
  ],
  "LoadBalancerType": "internal"
}

## Exemple de requête cURL
```bash
curl -X POST https://api.$OSC_REGION.outscale.com/api/v1/CreateLoadBalancer \
  --user $OSC_ACCESS_KEY:$OSC_SECRET_KEY \
  --aws-sigv4 'osc' \
  --header 'Content-Type: application/json' \
  --data '{"LoadBalancerName": "private-lb-example", "Listeners": [{"BackendPort": 80, "BackendProtocol": "TCP", "LoadBalancerPort": 80, "LoadBalancerProtocol": "TCP"}], "Subnets": ["subnet-12345678"], "SecurityGroups": ["sg-12345678"], "LoadBalancerType": "internal"}'
```

## 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 creating an internal load balancer in a net avec les paramètres requis
2. Configure les options pour creating an internal load balancer in a net
3. Applique cette configuration pour creating an internal load balancer in a net
4. Utilise l'API pour creating an internal load balancer in a net
curl -X POST https://api.$OSC_REGION.outscale.com/api/v1/CreateLoadBalancer \
  --user $OSC_ACCESS_KEY:$OSC_SECRET_KEY \
  --aws-sigv4 'osc' \
  --header 'Content-Type: application/json' \
  --data '{"LoadBalancerName": "private-lb-example", "Listeners": [{"BackendPort": 80, "BackendProtocol": "TCP", "LoadBalancerPort": 80, "LoadBalancerProtocol": "TCP"}], "Subnets": ["subnet-12345678"], "SecurityGroups": ["sg-12345678"], "LoadBalancerType": "internal"}'
curl -X POST https://api.$OSC_REGION.outscale.com/api/v1/CreateLoadBalancer \
  --user $OSC_ACCESS_KEY:$OSC_SECRET_KEY \
  --aws-sigv4 'aws' \
  --header 'Content-Type: text/plain' \
  --data '{"LoadBalancerName": "private-lb-example", "Listeners": [{"BackendPort": 80, "BackendProtocol": "TCP", "LoadBalancerPort": 80, "LoadBalancerProtocol": "TCP"}], "Subnets": ["subnet-12345678"], "SecurityGroups": ["sg-12345678"], "LoadBalancerType": "internal"}'