Bonjour à tous !
Actuellement on essaie de lancer un script lors de la création d'une instance via l'API.
On remplit alors le userData pour l'appel à l'API. Par contre, le script n'est pas utilisé. Du coup ce sera pour savoir un peu comment faire. (Je n'ai pas trouvé d'exemples.)
Le code qu'on utilise est :
$options = [
// Required
'name' => $application->getName(),
'imageId' => 'de7c3bac-3748-4cb2-a9d2-a17a301e607d',
'flavorId' => 'd0c3bdf8-c3f7-4e66-8c17-6b21cf4d0a50',
'region' => 'UK1',
'metadata' => ['company_id' => 'bar'],
'userData' => 'sudo apt-get install -y apache2',
];
$result = $this->ovhApi->post('/cloud/project/' . self::SERVICE_NAME . '/instance', $options);
Nous avons aussi essayé de mettre le contenu dans un base64_encode() (mais toujours aucun résultat, on s'était basé sur une autre api openstack pour ça, la ligne de commande dans le code ci-dessus est juste là à titre d'exemple)
Auriez-vous une idée de comment régler ça ?
Les logs du serveur retournent :
init.py[WARNING]: Unhandled non-multipart (text/x-not-multipart) userdata: 'b'sudo apt-get install -y '…'
Encore merci pour vos aides
Vous devez débuter votre script avec #!/bin/bash ou #!/bin/sh
Plus d'information ? cela ne précise pas si mètre le contenu en base64 était une bonne pratique ou pas, peut-être un très court exemple pour mieux comprendre ?