Prevod curl do Ansible

curl2code konvertuje curl príkazy na úlohy Ansible playbooku pomocou modulu uri. Prevod prebieha vo vašom prehliadači cez WebAssembly pre úplné súkromie. Pre Python si pozrite náš prevodník curl do Pythonu. Pre PowerShell si pozrite curl do PowerShellu. Nižšie sú praktické Ansible príklady.

Ako skopírovať curl z vášho prehliadača

  1. 1

    Otvorte DevTools

    Stlačte F12 alebo Ctrl+Shift+I na otvorenie vývojárskych nástrojov prehliadača.

  2. 2

    Prejdite na kartu Network

    Kliknite na kartu Network a vykonajte akciu, ktorá spustí HTTP požiadavku.

  3. 3

    Skopírovať ako cURL

    Kliknite pravým tlačidlom na požiadavku → CopyCopy as cURL. Potom ju prilepte vyššie.

Často kladené otázky

Čo je modul Ansible uri?

Modul uri je vstavaný modul Ansible na vytváranie HTTP požiadaviek v rámci playbookov. Zvláda GET, POST, PUT, DELETE s podporou JSON tela, autentifikáciou a validáciou stavových kódov. Nie je potrebná žiadna ďalšia kolekcia — je súčasťou ansible.builtin. curl2code generuje YAML úlohy Ansible pomocou modulu uri.

modul uri vs get_url vs command s curl — ktorý použiť?

Modul uri je určený pre volania API — vracia parsovaný JSON a validuje stav. get_url slúži na sťahovanie súborov na disk. command: curl je anti-pattern — stráca sa idempotencia a spracovanie chýb. Vždy uprednostňujte uri pre interakcie s HTTP API. Pre automatizáciu v Pythone si pozrite curl do Python.

Ako riešiť autentifikáciu v Ansible?

Pre Bearer: headers: { Authorization: "Bearer {{ token }}" }. Pre Basic auth: použite parametre url_username a url_password. Tajné údaje ukladajte v Ansible Vault: ansible-vault encrypt_string. Modul uri tiež podporuje force_basic_auth: yes pre preemptívnu autentifikáciu.

Ako posielať formulárové dáta s Ansible?

Pre telá JSON: body: {{ data | to_json }} s body_format: json. Pre form-urlencoded: body_format: form-urlencoded s body: key=value&key2=value2. Multipart nahrávanie súborov vyžaduje modul community.general.uri alebo vlastný skript. curl2code spracováva konverzie -F.

Ako spracovávať chyby v HTTP úlohách Ansible?

Použite register: result s failed_when: result.status != 200 pre vlastné podmienky zlyhania. Použite ignore_errors: yes na pokračovanie pri zlyhaní. Modul uri predvolene zlyhá pri iných ako 2xx — prepíšte to pomocou status_code: [200, 201, 404] pre akceptovanie viacerých stavových kódov.

Ako parsovať JSON odpovede v Ansible?

Modul uri automaticky parsuje JSON, keď je nastavené return_content: yes — prístup cez result.json. Použite filtre Jinja2: result.json.users | selectattr('active') | list. Pre komplexné transformácie použite set_fact s filtrami. Výsledky si zaregistrujte pre použitie v následných úlohách.

Ako nastaviť timeouty a opakovania v Ansible?

Nastavte timeout: 30 v úlohe uri pre timeout požiadavky v sekundách. Pre opakovania: použite retries: 3 s delay: 5 a until: result.status == 200. Toto je vstavaný vzor slučky opakovania v Ansible — nie je potrebný vlastný skript. Funguje s akýmkoľvek modulom, nielen s uri.

Ako používať proxy s Ansible uri?

Nastavte prostredie v úlohe: environment: { http_proxy: "http://proxy:8080", https_proxy: "http://proxy:8080" }. Alebo nastavte globálne v ansible.cfg alebo group_vars. Modul uri rešpektuje štandardné premenné prostredia proxy. Pre výnimky bez proxy: no_proxy: "localhost,.internal".

Ako poslať POST požiadavku s JSON telom v nástroji Ansible?

Preveďte curl POST príkaz ako curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL do nástroja Ansible pomocou curl2code. Vygenerovaný kód používa ansible.builtin.uri: url: '{'{ url }'}' method: POST body_format: json body: '{'{ data }'}'. curl2code automaticky deteguje prepínače -d/--data s JSON obsahom a nastaví príslušnú hlavičku Content-Type v kóde modulu uri.

Ako pridať autorizáciu pomocou Bearer tokenu v nástroji Ansible?

Vložte curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code a nástroj vygeneruje kód modulu uri s autorizačnou hlavičkou: headers: Authorization: 'Bearer YOUR_TOKEN'. curl2code deteguje Bearer tokeny z prepínačov -H "Authorization: Bearer ..." aj --oauth2-bearer. Pre Basic auth použite -u user:pass.

Ako nastaviť hlavičku Content-Type v nástroji Ansible?

curl2code konvertuje curl -H "Content-Type: application/json" URL na kód modulu uri so správnou hlavičkou: body_format: json. Pre dáta v -d curl predvolene používa application/x-www-form-urlencoded; pre nahrávanie formulárov cez -F používa multipart/form-data. curl2code mapuje každý z nich na správne API modulu uri.

Užitočné odkazy

Príručky pre curl

Prevod curl do iných jazykov