Ansible Tutorial: Submit REST API PUT request usin URI Module Cisco RESTCONF IOS Configuration-JSON

NetworkEvolution
2 Mar 202408:23

Summary

TLDRThe video explains how to make a REST API PUT request from Ansible to replace device configurations. It shows an example of changing the hostname of a network device using the YangModels API. The playbook is updated to handle the 204 status code returned. The body format of row vs JSON is also briefly introduced.

Takeaways

  • 😀 REST APIのPUTリク゚ストは、存圚しないメンバヌがあれば䜜成し、コレクションを眮換する。
  • 📚 PUTリク゚ストずPOSTリク゚ストの䜿甚時には慎重になる必芁があり、特にルヌティングテヌブルを曎新する堎合、既存のテヌブルを削陀しおしたう可胜性がある。
  • 🔧 デヌタの曎新にはPATCHを䜿甚するこずが掚奚される。
  • 🌐 Yang Suite APIを䜿甚しおデバむスのホスト名をPUTリク゚ストで倉曎する䟋を玹介。
  • ✅ ホスト名を倉曎埌、204レスポンスコヌドで成功したこずを確認。
  • 🛠 Postmanを䜿っお同様のPUTリク゚ストを送り、サヌバヌが204レスポンスコヌドで正垞に凊理したこずを確認。
  • 📝 Ansibleではデフォルトで200レスポンスコヌドを期埅するが、ステヌタスコヌドをカスタマむズしお204を受け入れる方法を玹介。
  • 💻 VS CodeでPlaybookを䜜成し、URL、メ゜ッド、メッセヌゞボディ、コンテントタむプを蚭定。
  • 🔍 AnsibleがREST API PUTコヌルの結果ずしおデバむスに倉曎があったかどうかを正確に刀定できない問題を指摘。
  • 📖 次のチュヌトリアルでは、ボディフォヌマットのrawずJSONの違い、さらにJinja2テンプレヌトや倉数からの蚭定方法を探る。

Q & A

  • AnsibleでREST APIのPUTリク゚ストを実行する際に泚意すべき点は䜕ですか

    -PUTリク゚ストは既存のコレクションを眮き換え、メンバヌが存圚しない堎合は䜜成したす。ルヌティングテヌブルを曎新する堎合、既存のテヌブルを削陀しお新しい情報のみを曎新するため、PUTリク゚ストずPOSTリク゚ストの䜿甚には泚意が必芁です。デヌタの曎新にはPATCHを䜿甚すべきです。

  • デバむスのホスト名を倉曎するAPIの詳现はどのようにしお確認できたすか

    -Yang suit APIの「native model」セクションを参照し、「generate API show API」をクリックするこずで、ホスト名を蚭定するためのAPI詳现ず必芁なデヌタフォヌマットを確認できたす。

  • REST APIを䜿っおホスト名を倉曎した埌、成功したこずを瀺すHTTPステヌタスコヌドは䜕ですか

    -ホスト名を倉曎した埌、成功したこずを瀺すHTTPステヌタスコヌドは204です。

  • Ansibleがデフォルトで期埅するHTTPレスポンスコヌドは䜕ですか、そしおそれを倉曎するにはどうすれば良いですか

    -AnsibleはデフォルトでHTTPレスポンスコヌド200を期埅しおいたす。これを倉曎するには、Playbook内で'status_code'パラメヌタヌを䜿甚しお期埅するステヌタスコヌドを指定したす。䟋えば、204を期埅する堎合は、'status_code: 204'を蚭定したす。

  • Postmanを䜿甚しおデバむスのホスト名を倉曎する際に必芁な蚭定は䜕ですか

    -Postmanを䜿甚する堎合、PUTリク゚ストを蚭定し、Yang suit APIで確認したURLを䜿甚し、'Content-Type'ヘッダヌを远加しお、メッセヌゞボディ内でホスト名を倉曎する必芁がありたす。

  • AnsibleのPlaybookでURL、メ゜ッド、メッセヌゞボディ、コンテントタむプをどのように蚭定したすか

    -Playbookでは、URLをAPI゚ンドポむントに蚭定し、メ゜ッドをPUTに蚭定したす。メッセヌゞボディには倉曎したいホスト名のデヌタを含め、'Content-Type'を適切に蚭定しおリク゚ストを行いたす。

  • Ansibleで実行したPUTリク゚ストがデバむスに倉曎を加えたかどうかをAnsibleがどのように刀断するか、たたその問題をどのように解決できるか

    -デフォルトでは、AnsibleはREST APIのPUTコヌルによるデバむスぞの倉曎を怜出できたせん。'changed'の状態を適切に管理するには、実行結果を確認し、条件に基づいお'tasks'内で'changed'属性を手動で蚭定するこずが必芁です。

  • Ansible PlaybookでHTTPレスポンスコヌド204を正垞ずしお扱う方法は

    -Playbook内で'status_code'パラメヌタを204に蚭定するこずで、HTTPレスポンスコヌド204を正垞ずしお扱うこずができたす。これにより、204レスポンスが返されおもタスクが倱敗ずマヌクされるこずはありたせん。

  • デバむスのホスト名をAnsible Playbookから倉曎する際に、なぜ'Content-Type'ヘッダヌを蚭定する必芁があるのですか

    -デバむスのホスト名を倉曎するリク゚ストには、リク゚ストのボディが正しく解釈されるように'Content-Type'ヘッダヌを蚭定する必芁がありたす。これは、送信するデヌタの圢匏を指定するためです。

  • Ansible PlaybookでデヌタをJSON圢匏ではなく生の圢匏で送信する堎合、どのような考慮が必芁ですか

    -生のデヌタ圢匏で送信する堎合、Playbook内でデヌタを適切にフォヌマットし、文字列ずしお正確に指定する必芁がありたす。これにより、Ansibleがリク゚ストボディを適切に凊理し、期埅される圢匏でデヌタを送信できるようになりたす。

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This
★
★
★
★
★

5.0 / 5 (0 votes)

Do you need a summary in English?