{"id":3039,"date":"2017-02-21T17:22:21","date_gmt":"2017-02-21T08:22:21","guid":{"rendered":"http:\/\/www.itbook.info\/web\/?p=3039"},"modified":"2017-02-21T17:24:20","modified_gmt":"2017-02-21T08:24:20","slug":"ansible%e3%81%a8napalm%e3%81%ae%e9%80%a3%e6%90%ba%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f","status":"publish","type":"post","link":"https:\/\/www.itbook.info\/web\/2017\/02\/ansible%e3%81%a8napalm%e3%81%ae%e9%80%a3%e6%90%ba%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f.html","title":{"rendered":"Ansible\u3068NAPALM\u306e\u9023\u643a\u3092\u8a66\u3057\u3066\u307f\u305f"},"content":{"rendered":"<aside class=\"row veu_insertAds before\"><div class=\"col-md-12\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\r\n                        <!-- cat_\u4e0a\u90e8 -->\r\n                        <ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-6102004203189610\" data-ad-slot=\"9628163001\" data-ad-format=\"auto\"><\/ins>\r\n                        <script>\r\n                        (adsbygoogle = window.adsbygoogle || []).push({});\r\n                        <\/script><\/div><\/aside><p>\u524d\u56de<a href=\"http:\/\/www.itbook.info\/web\/2017\/02\/%e3%83%9e%e3%83%ab%e3%83%81%e3%83%99%e3%83%b3%e3%83%80%e3%83%bc%e3%81%aa%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%af%e6%a9%9f%e5%99%a8%e3%82%92%e5%88%b6%e5%be%a1%e5%87%ba%e6%9d%a5%e3%82%8bpy.html\">\u30de\u30eb\u30c1\u30d9\u30f3\u30c0\u30fc\u306a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6a5f\u5668\u3092\u5236\u5fa1\u51fa\u6765\u308bPython\u30e9\u30a4\u30d6\u30e9\u30ea\u300cNAPALM\u300d\u3092\u8a66\u3057\u3066\u307f\u305f<\/a>\u306e\u3067\u3001\u4eca\u56de\u306fAnsible\u3068NAPALM\u306e\u9023\u643a\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u691c\u8a3c\u74b0\u5883\">\u691c\u8a3c\u74b0\u5883<\/h2>\n<p>\u691c\u8a3c\u74b0\u5883\u306f\u4ee5\u4e0b\u306e\u901a\u308a<\/p>\n<p><!--more--><\/p>\n<h3 id=\"napalm\">NAPALM<\/h3>\n<pre><code class=\"(null)\">% pip show napalm\nName: napalm\nVersion: 1.1.0\nSummary: Network Automation and Programmability Abstraction Layer with Multivendor support\nHome-page: https:\/\/github.com\/napalm-automation\/napalm\nAuthor: David Barroso\nAuthor-email: dbarrosop@dravetech.com\nLicense: UNKNOWN\nLocation: \/Users\/itbook\/.pyenv\/versions\/2.7.8\/lib\/python2.7\/site-packages\nRequires: napalm-iosxr, napalm-ibm, napalm-pluribus, napalm-eos, napalm-nxos, napalm-fortios, napalm-panos, napalm-junos, napalm-base, napalm-ios<\/code><\/pre>\n<h3 id=\"ansible\">Ansible<\/h3>\n<pre><code class=\"(null)\">% ansible --version\nansible 2.1.0.0\n  config file =\n  configured module search path = Default w\/o overrides<\/code><\/pre>\n<h3 id=\"ansible\u3068napalm\u3092\u9023\u643a\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea\">Ansible\u3068NAPALM\u3092\u9023\u643a\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea<\/h3>\n<p>\u4ee5\u4e0b\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><a href=\"https:\/\/github.com\/napalm-automation\/napalm-ansible\">napalm-automation\/napalm-ansible<\/a><\/p>\n<h3 id=\"arista\">Arista<\/h3>\n<pre><code class=\"(null)\">eos-1#show version\nArista CVX\nHardware version:\nSerial number:\nSystem MAC address:  000c.29f1.b416\n\nSoftware image version: 4.15.7M\nArchitecture:           i386\nInternal build version: 4.15.7M-3284043.4157M\nInternal build ID:      b0b0dff8-c9ca-40cc-a625-7fd3c8c76ebd\n\nUptime:                 15 hours and 51 minutes\nTotal memory:           2513796 kB\nFree memory:            174616 kB<\/code><\/pre>\n<h2 id=\"\u30c7\u30d0\u30a4\u30b9\u60c5\u5831\u3092\u53d6\u5f97\">\u30c7\u30d0\u30a4\u30b9\u60c5\u5831\u3092\u53d6\u5f97<\/h2>\n<p>Playbook\u306f\u3053\u3093\u306a\u611f\u3058\u3002<\/p>\n<pre><code class=\"(null)\">% more playbooks\/get-facts.yml\n---\n- name: Get Device data\n  hosts: all\n  gather_facts: no\n  connection: local\n  tasks:\n  - name: Get data from device\n    napalm_get_facts:\n      hostname={{ip}}\n      username={{user}}\n      dev_os={{os}}\n      password={{passwd}}\n      filter=&apos;facts,interfaces&apos;\n    register: result\n  - name: print data\n    debug: var=result<\/code><\/pre>\n<p>\u300cfilter\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u53d6\u5f97\u3057\u305f\u3044\u60c5\u5831\u3092\u8a18\u8f09\u3057\u307e\u3059\u3002\u6b8b\u5ff5\u306a\u304c\u3089\u73fe\u6642\u70b9\u3067\u306f\u53d6\u5f97\u51fa\u6765\u306a\u3044\u60c5\u5831\u3082\u3042\u308b\u3088\u3046\u3067\u3059\u3002\uff08config\u3084ARP\u30c6\u30fc\u30d6\u30eb\u306a\u3069\u306f\u53d6\u5f97\u3067\u304d\u305a\uff09<\/p>\n<p>\u5b9f\u884c\u7d50\u679c\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n<pre><code class=\"(null)\">% ansible-playbook -i hosts playbooks\/get-facts.yml\nPLAY [Get Device data] *********************************************************\nTASK [Get data from device] ****************************************************\nok: [eos-1]\nTASK [print data] **************************************************************\nok: [eos-1] =&gt; {\n    &quot;result&quot;: {\n        &quot;ansible_facts&quot;: {\n            &quot;facts&quot;: {\n                &quot;fqdn&quot;: &quot;eos-1&quot;,\n                &quot;hostname&quot;: &quot;eos-1&quot;,\n                &quot;interface_list&quot;: [\n                    &quot;Loopback1&quot;,\n                    &quot;Loopback2&quot;,\n                    &quot;Management1&quot;\n                ],\n                &quot;model&quot;: &quot;CVX&quot;,\n                &quot;os_version&quot;: &quot;4.15.7M-3284043.4157M&quot;,\n                &quot;serial_number&quot;: &quot;&quot;,\n                &quot;uptime&quot;: 1513085,\n                &quot;vendor&quot;: &quot;Arista&quot;\n            },\n            &quot;interfaces&quot;: {\n                &quot;Loopback1&quot;: {\n                    &quot;description&quot;: &quot;&quot;,\n                    &quot;is_enabled&quot;: true,\n                    &quot;is_up&quot;: true,\n                    &quot;last_flapped&quot;: 1486210620.3110418,\n                    &quot;mac_address&quot;: &quot;&quot;,\n                    &quot;speed&quot;: 0\n                },\n                &quot;Loopback2&quot;: {\n                    &quot;description&quot;: &quot;&quot;,\n                    &quot;is_enabled&quot;: true,\n                    &quot;is_up&quot;: true,\n                    &quot;last_flapped&quot;: 1486210759.9295466,\n                    &quot;mac_address&quot;: &quot;&quot;,\n                    &quot;speed&quot;: 0\n                },\n                &quot;Management1&quot;: {\n                    &quot;description&quot;: &quot;&quot;,\n                    &quot;is_enabled&quot;: true,\n                    &quot;is_up&quot;: true,\n                    &quot;last_flapped&quot;: 1486155018.0522845,\n                    &quot;mac_address&quot;: &quot;00:0C:29:53:21:7D&quot;,\n                    &quot;speed&quot;: 1000\n                }\n            }\n        },\n        &quot;changed&quot;: false\n    }\n}\nPLAY RECAP *********************************************************************\neos-1                      : ok=2    changed=0    unreachable=0    failed=0<\/code><\/pre>\n<h2 id=\"\u30b3\u30f3\u30d5\u30a3\u30b0\u306e\u8ffd\u52a0\">\u30b3\u30f3\u30d5\u30a3\u30b0\u306e\u8ffd\u52a0<\/h2>\n<p>\u7d9a\u3044\u3066\u30b3\u30f3\u30d5\u30a3\u30b0\u306e\u8ffd\u52a0\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>Playbook\u306f\u3053\u3093\u306a\u611f\u3058\u3002<\/p>\n<pre><code class=\"(null)\">% more playbooks\/add-config.yml\n---\n- name: Add config\n  hosts: all\n  connection: local\n  gather_facts: no\n  tasks:\n  - name: Add config\n    napalm_install_config:\n        hostname={{ip}}\n        username={{user}}\n        dev_os={{os}}\n        password={{passwd}}\n        config_file={{config_dir}}\/{{hostname}}\/config\n        commit_changes=True\n        replace_config=False\n        diff_file={{config_dir}}\/{{hostname}}\/config.diff<\/code><\/pre>\n<p>\u300cconfig\u300d\u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u306b\u8ffd\u52a0\u3059\u308b\u8a2d\u5b9a\u3092\u8a18\u8ff0\u3057\u3001\u300cconfig.diff\u300d\u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u306b\u5909\u66f4\u524d\u3068\u5909\u66f4\u5f8c\u306ediff\u306e\u7d50\u679c\u3092\u4fdd\u5b58\u3059\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u30b3\u30f3\u30d5\u30a3\u30b0\u8ffd\u52a0\u524d\u306eArista\u306e\u30b3\u30f3\u30d5\u30a3\u30b0\u306f\u4ee5\u4e0b\u3002<\/p>\n<pre><code class=\"(null)\">eos-1#sh running-config\n! Command: show running-config\n! device: eos-1 (CVX, EOS-4.15.7M)\n!\n! boot system flash:\/EOS.swi\n!\ntransceiver qsfp default-mode 4x10G\n!\nhostname eos-1\n!\nspanning-tree mode mstp\n!\nno aaa root\n!\nusername test secret 5 $1$yl1ume\/m$LNhZY2oO3iB0L9aCaEbGp0\n!\ninterface Loopback1\n   ip address 1.1.1.1\/32\n!\ninterface Loopback2\n   ip address 2.2.2.2\/32\n!\ninterface Management1\n   ip address 172.16.41.2\/24\n!\nno ip routing\n!\nmanagement api http-commands\n   protocol http\n   no shutdown\n!\n!\nend<\/code><\/pre>\n<p>\u8a66\u3057\u306b\u3001\u300cloopback 3\u300d\u3092\u8ffd\u52a0\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<pre><code class=\"(null)\">% more configs\/eos-1\/config\ninterface loopback 3\nip address 3.3.3.3 255.255.255.255<\/code><\/pre>\n<p>\u5b9f\u884c\u7d50\u679c\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n<pre><code class=\"(null)\">% ansible-playbook -i hosts playbooks\/add-config.yml\nPLAY [Add config] **************************************************************\nTASK [Add config] **************************************************************\nchanged: [eos-1]\nPLAY RECAP *********************************************************************\neos-1                      : ok=1    changed=1    unreachable=0    failed=0<\/code><\/pre>\n<pre><code class=\"(null)\">eos-1#sh running-config\n! Command: show running-config\n! device: eos-1 (CVX, EOS-4.15.7M)\n!\n! boot system flash:\/EOS.swi\n!\ntransceiver qsfp default-mode 4x10G\n!\nhostname eos-1\n!\nspanning-tree mode mstp\n!\nno aaa root\n!\nusername test secret 5 $1$yl1ume\/m$LNhZY2oO3iB0L9aCaEbGp0\n!\ninterface Loopback1\n   ip address 1.1.1.1\/32\n!\ninterface Loopback2\n   ip address 2.2.2.2\/32\n!\ninterface Loopback3\n   ip address 3.3.3.3\/32\n!\ninterface Management1\n   ip address 172.16.41.2\/24\n!\nno ip routing\n!\nmanagement api http-commands\n   protocol http\n   no shutdown\n!\n!\nend<\/code><\/pre>\n<p>\u5909\u66f4\u524d\u3068\u5909\u66f4\u5f8c\u306ediff\u306e\u7d50\u679c\u3082\u554f\u984c\u306a\u304f\u4fdd\u5b58\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre><code>% more configs\/eos-1\/config.diff  \n@@ -18,6 +18,9 @@  \n interface Loopback2  \n    ip address 2.2.2.2\/32  \n !\n+interface Loopback3  \n+   ip address 3.3.3.3\/32  \n+!  \n interface Management1  \n    ip address 172.16.41.2\/24  \n !\n<\/code><\/pre>\n<h2 id=\"\u307e\u3068\u3081\">\u307e\u3068\u3081<\/h2>\n<p>Ansible\u3068NAPALM\u3092\u9023\u643a\u3059\u308b\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u7528\u610f\u3057\u3066\u304f\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u7c21\u5358\u306b\u9023\u643a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002\u4eca\u307e\u3067Ansible\u3092\u4f7f\u3063\u3066\u5927\u91cf\u306e\u30de\u30eb\u30c1\u30d9\u30f3\u30c0\u6a5f\u5668\u3092\u304a\u5b88\u308a\u3057\u3066\u3044\u305f\u65b9\u306f\u3001NAPALM\u3068\u9023\u643a\u3055\u305b\u308b\u3053\u3068\u3067Ansible\u306e\u7ba1\u7406\u3082\u697d\u306b\u306a\u308b\u3093\u3058\u3083\u306a\u3044\u304b\u3068\u601d\u3044\u307e\u3059\u3002<br \/>\n\u4eca\u56de\u8a66\u3057\u305f\u30b3\u30fc\u30c9\u306fGitHUB\u306b\u4e0a\u3052\u3066\u304a\u304d\u307e\u3057\u305f\u306e\u3067\u3001\u8208\u5473\u304c\u3042\u308b\u65b9\u306f\u8a66\u3057\u3066\u307f\u3066\u3044\u305f\u3060\u3051\u308c\u3070\u3002<\/p>\n<p><a href=\"https:\/\/github.com\/itbook\/ansible_napalm\">itbook\/ansible_napalm<\/a><\/p>\n<aside class=\"row veu_insertAds after\"><div class=\"col-md-12\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\r\n                        <!-- cat_\u4e0a\u90e8 -->\r\n                        <ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-6102004203189610\" data-ad-slot=\"9628163001\" data-ad-format=\"auto\"><\/ins>\r\n                        <script>\r\n                        (adsbygoogle = window.adsbygoogle || []).push({});\r\n                        <\/script><\/div><\/aside>","protected":false},"excerpt":{"rendered":"<p>\u524d\u56de\u30de\u30eb\u30c1\u30d9\u30f3\u30c0\u30fc\u306a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6a5f\u5668\u3092\u5236\u5fa1\u51fa\u6765\u308bPython\u30e9\u30a4\u30d6\u30e9\u30ea\u300cNAPALM\u300d\u3092\u8a66\u3057\u3066\u307f\u305f\u306e\u3067\u3001\u4eca\u56de\u306fAnsible\u3068NAPALM\u306e\u9023\u643a\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u3002 \u691c\u8a3c\u74b0\u5883 \u691c\u8a3c\u74b0\u5883\u306f\u4ee5\u4e0b\u306e\u901a\u308a<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[275,320],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v15.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ansible\u3068NAPALM\u306e\u9023\u643a\u3092\u8a66\u3057\u3066\u307f\u305f - \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a8\u30f3\u30b8\u30cb\u30a2\u304c\u65e5\u3005\u306e\u51fa\u6765\u4e8b\u3092\u8a9e\u308b<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.itbook.info\/web\/2017\/02\/ansible\u3068napalm\u306e\u9023\u643a\u3092\u8a66\u3057\u3066\u307f\u305f.html\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ansible\u3068NAPALM\u306e\u9023\u643a\u3092\u8a66\u3057\u3066\u307f\u305f - \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a8\u30f3\u30b8\u30cb\u30a2\u304c\u65e5\u3005\u306e\u51fa\u6765\u4e8b\u3092\u8a9e\u308b\" \/>\n<meta property=\"og:description\" content=\"\u524d\u56de\u30de\u30eb\u30c1\u30d9\u30f3\u30c0\u30fc\u306a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6a5f\u5668\u3092\u5236\u5fa1\u51fa\u6765\u308bPython\u30e9\u30a4\u30d6\u30e9\u30ea\u300cNAPALM\u300d\u3092\u8a66\u3057\u3066\u307f\u305f\u306e\u3067\u3001\u4eca\u56de\u306fAnsible\u3068NAPALM\u306e\u9023\u643a\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u3002 \u691c\u8a3c\u74b0\u5883 \u691c\u8a3c\u74b0\u5883\u306f\u4ee5\u4e0b\u306e\u901a\u308a\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.itbook.info\/web\/2017\/02\/ansible\u3068napalm\u306e\u9023\u643a\u3092\u8a66\u3057\u3066\u307f\u305f.html\" \/>\n<meta property=\"og:site_name\" content=\"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a8\u30f3\u30b8\u30cb\u30a2\u304c\u65e5\u3005\u306e\u51fa\u6765\u4e8b\u3092\u8a9e\u308b\" \/>\n<meta property=\"article:published_time\" content=\"2017-02-21T08:22:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-02-21T08:24:20+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.itbook.info\/web\/#website\",\"url\":\"https:\/\/www.itbook.info\/web\/\",\"name\":\"\\u30cd\\u30c3\\u30c8\\u30ef\\u30fc\\u30af\\u30a8\\u30f3\\u30b8\\u30cb\\u30a2\\u304c\\u65e5\\u3005\\u306e\\u51fa\\u6765\\u4e8b\\u3092\\u8a9e\\u308b\",\"description\":\"\\u30cd\\u30c3\\u30c8\\u30ef\\u30fc\\u30af\\u30cd\\u30bf\\u3068\\u304b\\u3092\\u9069\\u5f53\\u306b\\u66f8\\u304d\\u6563\\u3089\\u304b\\u3059\\u30d6\\u30ed\\u30b0\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/www.itbook.info\/web\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.itbook.info\/web\/2017\/02\/ansible%e3%81%a8napalm%e3%81%ae%e9%80%a3%e6%90%ba%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f.html#webpage\",\"url\":\"https:\/\/www.itbook.info\/web\/2017\/02\/ansible%e3%81%a8napalm%e3%81%ae%e9%80%a3%e6%90%ba%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f.html\",\"name\":\"Ansible\\u3068NAPALM\\u306e\\u9023\\u643a\\u3092\\u8a66\\u3057\\u3066\\u307f\\u305f - \\u30cd\\u30c3\\u30c8\\u30ef\\u30fc\\u30af\\u30a8\\u30f3\\u30b8\\u30cb\\u30a2\\u304c\\u65e5\\u3005\\u306e\\u51fa\\u6765\\u4e8b\\u3092\\u8a9e\\u308b\",\"isPartOf\":{\"@id\":\"https:\/\/www.itbook.info\/web\/#website\"},\"datePublished\":\"2017-02-21T08:22:21+00:00\",\"dateModified\":\"2017-02-21T08:24:20+00:00\",\"author\":{\"@id\":\"https:\/\/www.itbook.info\/web\/#\/schema\/person\/3707482c5270f902ec5d92dba1db0920\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.itbook.info\/web\/2017\/02\/ansible%e3%81%a8napalm%e3%81%ae%e9%80%a3%e6%90%ba%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f.html\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.itbook.info\/web\/#\/schema\/person\/3707482c5270f902ec5d92dba1db0920\",\"name\":\"na3620\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.itbook.info\/web\/#personlogo\",\"inLanguage\":\"ja\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1e7e7f8079aa707666c2a1069de805ef?s=96&d=mm&r=g\",\"caption\":\"na3620\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/www.itbook.info\/web\/wp-json\/wp\/v2\/posts\/3039"}],"collection":[{"href":"https:\/\/www.itbook.info\/web\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itbook.info\/web\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itbook.info\/web\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itbook.info\/web\/wp-json\/wp\/v2\/comments?post=3039"}],"version-history":[{"count":2,"href":"https:\/\/www.itbook.info\/web\/wp-json\/wp\/v2\/posts\/3039\/revisions"}],"predecessor-version":[{"id":3041,"href":"https:\/\/www.itbook.info\/web\/wp-json\/wp\/v2\/posts\/3039\/revisions\/3041"}],"wp:attachment":[{"href":"https:\/\/www.itbook.info\/web\/wp-json\/wp\/v2\/media?parent=3039"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itbook.info\/web\/wp-json\/wp\/v2\/categories?post=3039"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itbook.info\/web\/wp-json\/wp\/v2\/tags?post=3039"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}