Serveurs Privés Virtuels (VPS) - API OVH : c'est quoi type ipBlock ?
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Frage

API OVH : c'est quoi type ipBlock ?

Von
JordanJ
Erstellungsdatum 2021-10-18 11:41:40 (edited on 2024-09-04 12:13:14) in Serveurs Privés Virtuels (VPS)

Bonjour,

Je découvre l'api OVH pour un projet, l'utilisation est plutôt facile mais pour un GET j'ai un souci que je n'arrive pas à résoudre.

Celui-ci : https://api.ovh.com/console/#/ip#GET
Pour récupérer toutes les ip de mon compte OVH, ça fonctionne bien aussi si je veux récupérer uniquement celui d'un vps en particulier mais c'est facultatif.

Tout fonctionne bien dans la console OVH API mais lorsque j'utilise le code PHP que me donne la console j'ai cette erreur (que je try/catch) : {"message":"[ip] Given data () is not valid for type ipBlock"}

Le param 'ip' est pourtant facultatif et dans la console OVH y a pas de souci en laissant le champ à NULL donc pourquoi cette erreur ?

Sinon que dois-je mettre dans le param 'ip' sachant que justement je veux récupérer une liste d'ip ?
Il y a un type ipBlock que je dois mettre qui fait que ça fonctionnera ?

Je précise j'ai pas de souci avec les autres appel API, les clés sont OK.

Voici le code php que me donne la console :
$result = $ovh->get('/ip', array(
'description' => NULL, // Filter the value of description property (like) (type: string)
'ip' => NULL, // Filter the value of ip property (contains or equals) (type: ipBlock)
'routedTo.serviceName' => NULL, // Filter the value of routedTo.serviceName property (like) (type: string)
'type' => NULL, // Filter the value of type property (=) (type: ip.IpTypeEnum)
));

Merci pour votre aide.


7 Antworten ( Latest reply on 2021-10-20 09:06:19 Von
JordanJ
)

Salut @JordanJ

Sur VPS, tu as des IP unitaire. Le champ IPBlock sera donc en /32.
Ex : 123.123.123.123/32

Jalinn

Merci d'avoir répondu.

Si je met '/32' en value pour le paramètre ip ça ne fonctionne pas non plus.
J'ai l'erreur :
{
"message": "[ip] Given data (/32) is not valid for type ipBlock"
}

Et si je mets '32' j'ai un array vide.

J'ai tout tenté, depuis la console OVH API si je mets le select sur "null value" ou "empty value" j'ai l'erreur 400.

Y a que depuis la console OVH API en ne mettant rien dans le champs value (pour ip) que ça fonctionne bien et me donne ma liste d'ip correspondante au compte ovh ou au vps si je le précise.
J'aimerai bien reproduire ce comportement en code PHP mais a priori ce n'est pas un champs vide puisque le choix 'empty value' ne fonctionne pas.

J'ai l'impression que peu de personnes utilisent l'API :/


Ex : 123.123.123.123/32


J'ai bien précisé qu'il fallait mettre l'IP complete + netmask dans ce champ.

Ex : 192.168.0 42/32

Mais ce n'est pas le but de ce GET.
Avec cet appel on doit pouvoir récupérer soit toute la liste des IP du compte ovh soit toutes les ips d'un VPS en le précisant dans 'routedTo.serviceName'.

En ne mettant rien pour le paramètre 'ip' depuis la console ça fonctionne très bien mais ça ne fonctionne pas avec le code PHP qu'il donne.
J'ai ce souci qu'avec ce GET et ça me bloque bien sur mon projet.

Il y a des tech ovh sur le forum ou il faut plutôt ouvrir un malheureux ticket ?


Il y a des tech ovh sur le forum ou il faut plutôt ouvrir un malheureux ticket ?

Les deux.

Je vois je vois, bon j'ai préféré la solution la moins longue (que le support).
Ce GET est bugué il ne fonctionne pas normalement comme il le devrait (le paramètre 'ip' est en trop ici, il ne doit pas être ni requis ni demandé).

J'utilise un autre GET et je rajoute quelques conditions pour arriver au même résultat.