Konversi curl ke Ansible

curl2code mengonversi perintah curl ke tugas playbook Ansible menggunakan modul uri. Konversi berjalan di peramban Anda melalui WebAssembly untuk privasi lengkap. Untuk Python, lihat konverter curl ke Python kami. Untuk PowerShell, lihat curl ke PowerShell. Di bawah ini adalah contoh Ansible praktis.

Cara menyalin curl dari peramban Anda

  1. 1

    Buka DevTools

    Tekan F12 atau Ctrl+Shift+I untuk membuka alat pengembang peramban Anda.

  2. 2

    Buka tab Network

    Klik tab Network dan lakukan tindakan yang memicu permintaan HTTP.

  3. 3

    Salin sebagai cURL

    Klik kanan pada permintaan → CopyCopy as cURL. Kemudian tempelkan di atas.

Pertanyaan yang Sering Diajukan

Apa itu modul uri Ansible?

Modul uri adalah modul bawaan Ansible untuk membuat permintaan HTTP di dalam playbook. Modul ini menangani GET, POST, PUT, DELETE dengan dukungan badan JSON, autentikasi, dan validasi kode status. Tidak diperlukan koleksi tambahan — ini adalah bagian dari ansible.builtin. curl2code menghasilkan YAML tugas Ansible menggunakan modul uri.

Modul uri vs get_url vs command dengan curl — mana yang harus digunakan?

Modul uri adalah untuk panggilan API — modul ini mengembalikan JSON yang diurai dan memvalidasi status. get_url adalah untuk mengunduh file ke disk. command: curl adalah anti-pola — kehilangan idempotensi dan penanganan kesalahan. Selalu utamakan uri untuk interaksi API HTTP. Untuk otomatisasi Python, lihat curl ke Python.

Bagaimana cara menangani autentikasi di Ansible?

Untuk Bearer: headers: { Authorization: "Bearer {{ token }}" }. Untuk autentikasi Basic: gunakan parameter url_username dan url_password. Simpan rahasia di Ansible Vault: ansible-vault encrypt_string. Modul uri juga mendukung force_basic_auth: yes untuk autentikasi preemptive.

Bagaimana cara mengirim data formulir dengan Ansible?

Untuk badan JSON: body: {{ data | to_json }} dengan body_format: json. Untuk form-urlencoded: body_format: form-urlencoded dengan body: key=value&key2=value2. Unggahan file multipart memerlukan modul community.general.uri atau skrip khusus. curl2code menangani konversi -F.

Bagaimana cara menangani kesalahan dalam tugas HTTP Ansible?

Gunakan register: result dengan failed_when: result.status != 200 untuk kondisi kegagalan khusus. Gunakan ignore_errors: yes untuk melanjutkan saat terjadi kegagalan. Modul uri gagal pada non-2xx secara default — timpa dengan status_code: [200, 201, 404] untuk menerima beberapa kode status.

Bagaimana cara mengurai respons JSON di Ansible?

Modul uri secara otomatis mengurai JSON saat return_content: yes diatur — akses melalui result.json. Gunakan filter Jinja2: result.json.users | selectattr('active') | list. Untuk transformasi kompleks, gunakan set_fact dengan filter. Daftarkan hasil untuk digunakan dalam tugas berikutnya.

Bagaimana cara mengatur timeout dan retry di Ansible?

Atur timeout: 30 pada tugas uri untuk timeout permintaan dalam detik. Untuk percobaan ulang: gunakan retries: 3 dengan delay: 5 dan until: result.status == 200. Ini adalah pola loop retry bawaan Ansible — tidak perlu skrip khusus. Berfungsi dengan modul apa pun, bukan hanya uri.

Bagaimana cara menggunakan proksi dengan Ansible uri?

Atur lingkungan pada tugas: environment: { http_proxy: "http://proxy:8080", https_proxy: "http://proxy:8080" }. Atau atur secara global di ansible.cfg atau group_vars. Modul uri menghormati variabel lingkungan proksi standar. Untuk pengecualian no-proxy: no_proxy: "localhost,.internal".

Bagaimana cara mengirim POST request dengan JSON body di Ansible?

Konversi perintah curl POST seperti curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ke Ansible menggunakan curl2code. Kode yang dihasilkan menggunakan ansible.builtin.uri: url: '{'{ url }'}' method: POST body_format: json body: '{'{ data }'}'. curl2code secara otomatis mendeteksi flag -d/--data dengan konten JSON dan mengatur header Content-Type yang sesuai dalam kode modul uri.

Bagaimana cara menambahkan otorisasi Bearer token di Ansible?

Masukkan curl -H "Authorization: Bearer YOUR_TOKEN" URL ke curl2code dan alat ini akan menghasilkan kode modul uri dengan header auth: headers: Authorization: 'Bearer YOUR_TOKEN'. curl2code mendeteksi Bearer token dari flag -H "Authorization: Bearer ..." maupun --oauth2-bearer. Untuk Basic auth, gunakan -u user:pass.

Bagaimana cara mengatur header Content-Type di Ansible?

curl2code mengonversi curl -H "Content-Type: application/json" URL ke kode modul uri dengan header yang tepat: body_format: json. Untuk data -d, curl secara default menggunakan application/x-www-form-urlencoded; untuk unggahan formulir -F, curl menggunakan multipart/form-data. curl2code memetakan masing-masing ke API modul uri yang benar.

Tautan Berguna

Panduan curl

Konversi curl ke Bahasa Lain