{"id":34742,"date":"2019-10-31T22:00:10","date_gmt":"2019-10-31T19:00:10","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-vzyat-setevuyu-infrastrukturu-pod-svoj-kontrol-glava-chetvertaya-avtomatizatsiya-templejty\/"},"modified":"2019-10-31T22:00:10","modified_gmt":"2019-10-31T19:00:10","slug":"kak-vzyat-setevuyu-infrastrukturu-pod-svoj-kontrol-glava-chetvertaya-avtomatizatsiya-templejty","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-vzyat-setevuyu-infrastrukturu-pod-svoj-kontrol-glava-chetvertaya-avtomatizatsiya-templejty","title":{"rendered":"How to Take Control of Your Network Infrastructure. Chapter Four. Automation. Templates.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>This article is the sixth in the series \"How to Take Control of Your Network Infrastructure.\" You can find the content of all articles in the series and links. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/447008\/\">here<\/a><\/noindex><\/i>.<\/p>\n<p>Having left several topics behind, I decided to start a new chapter.<\/p>\n<p>I'll return to security a bit later. Here, I want to discuss one simple but effective approach that I believe can be useful to many in one way or another. This is more of a short story about how automation can change an engineer's life. The discussion will focus on using templates. At the end, I've included a list of my projects where you can see how everything described here works.<\/p>\n<h2>DevOps for Networking<\/h2>\n<p>\nCreating configuration via scripts, using GIT for change control of the IT infrastructure, remote 'uploads' \u2014 these ideas come to mind first when considering the technical implementation of the DevOps approach. The benefits are obvious. But, unfortunately, there are also drawbacks.<\/p>\n<p>When more than five years ago, our developers approached us network engineers with these proposals, we weren't thrilled.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nIt should be noted that we inherited a rather diverse network consisting of equipment from about 10 different vendors. Some configurations were convenient to handle through our favorite CLI, while in other cases, we preferred to use the GUI. Furthermore, long periods of working on 'live' equipment accustomed us to real-time control. For instance, when making changes, I feel much more comfortable working directly through the CLI. This allows me to quickly see if something went wrong and to 'rollback' changes. All of this somewhat contradicted their ideas.<\/p>\n<p>Other questions arise as well, for example, from version to version, the software interface may change slightly. Ultimately, this will lead to your script generating an incorrect 'config.' You wouldn't want to use production for 'testing.' <\/p>\n<p>Or, how can you ensure that the configuration commands were applied correctly, and what to do in case of an error?<\/p>\n<p>I don't want to say that all these questions are unsolvable. Just saying 'A,' it's probably wise to also say 'B.' If you want to use the same processes for change control as in development, you need to have not only production but also dev and staging environments. Then this approach looks complete. But how much will this cost?<\/p>\n<p>However, there is one situation where the drawbacks are practically outweighed, and only the advantages remain. I'm talking about project work.<\/p>\n<h2>Project<\/h2>\n<p>\nFor the past two years, I've been involved in a project to build a data center for a large provider. I am responsible for F5 and Palo Alto in this project. From Cisco\u2019s perspective, this is '3rd party equipment.'<\/p>\n<p>Personally, I see two distinct phases in this project. <\/p>\n<h3>The first phase<\/h3>\n<p>\nIn the first year, I was constantly busy, working nights and weekends. I couldn\u2019t lift my head. The pressure from management and the client was strong and relentless. In the midst of the routine, I couldn't even attempt to optimize the process. It wasn't just about configuring equipment; it was also about preparing project documentation. <\/p>\n<p>Then the first tests began, and I was shocked at how many small errors and inaccuracies had been made. Of course, everything worked, but there was a missing letter in one name, a missing line in a command... The tests went on and on, and I found myself in a constant, daily battle with errors, tests, and documentation. <\/p>\n<p>This continued for a year. The project, as far as I understand, was challenging for everyone, but gradually the client became more and more satisfied, which allowed us to bring in additional engineers to share the routine work.<\/p>\n<p>Now I could take a moment to look around.<br \/>\nAnd this was the beginning of the second phase. <\/p>\n<h3>The second phase<\/h3>\n<p>\nI decided to automate the process.<\/p>\n<p>What I understood from my discussions with the developers at the time (and credit where it\u2019s due, we had a strong team) is that the text format, although it may seem at first glance like something out of the DOS operating system world, possesses a number of valuable properties. <br \/>\nFor example, the text format is useful if you want to fully leverage the advantages of GIT and all its derivatives. And I wanted to. <\/p>\n<p>Well, one might think that it would be enough to simply store the configuration or the list of commands, but making changes this way is quite inconvenient. Moreover, there\u2019s another crucial task in project design. You need documentation that describes your overall design (Low Level Design) and specific implementation (Network Implementation Plan). In this case, using templates seems like a very suitable option.<\/p>\n<p>Thus, when using YAML and Jinja2, the YAML file containing configuration parameters such as IP addresses, BGP AS numbers, etc., performs the role of the NIP excellently, while the Jinja2 templates incorporate syntax corresponding to the design, effectively reflecting the LLD. <\/p>\n<p>It took two days to study the YAML and Jinja2 languages. Understanding how it works is enough with a few good examples. Then, it took about two weeks to create all the templates that matched our design: a week for Palo Alto and another week for F5. All of this was uploaded to the corporate GitHub.<\/p>\n<p>Now the process of changes looked as follows:<\/p>\n<ul>\n<li>changed the YAML file<\/li>\n<li>created a configuration file using the template (Jinja2)<\/li>\n<li>saved it in a remote repository<\/li>\n<li>uploaded the created configuration to the equipment<\/li>\n<li>saw an error<\/li>\n<li>changed the YAML file or Jinja2 template<\/li>\n<li>created a configuration file using the template (Jinja2)<\/li>\n<li>\u2026<\/li>\n<\/ul>\n<p>\nIt is clear that initially, a lot of time was spent on edits, but after a week or two it became quite rare. <\/p>\n<p>A good check and an opportunity to debug everything was the client's desire to change the naming convention. Anyone who has worked with F5 understands the intricacies of the situation. But for me, it was quite simple. I changed the names in the YAML file, deleted all configurations from the equipment, generated a new one, and uploaded it. In total, considering the bug fixes, it took 4 days: two days for each technology. After that, I was ready for the next stage, namely the creation of DEV and Staging data centers.<\/p>\n<h3>Dev and Staging<\/h3>\n<p>\nStaging essentially fully replicates production. Dev is a heavily stripped-down version primarily built on virtual equipment. An ideal situation for applying the new approach. If we isolate the time I spent from the overall process, I think the work took no more than 2 weeks. The main time was the waiting for the other party and the joint search for problems. The implementation of the 3rd party was almost unnoticed by those around. There was even time to learn something and write a couple of articles on Habr \ud83d\ude42<\/p>\n<h2>Let\u2019s summarize<\/h2>\n<p>\nSo, what do I have in the dry residue?<\/p>\n<ul>\n<li>everything I need to change the configuration is to modify a simple, clearly structured YAML file with configuration parameters. I never change the Python script and very rarely (only if there is an error) modify the Jinja2 template.<\/li>\n<li>From a documentation perspective, it creates nearly an ideal situation. You update the documentation (YAML files serve as the NIP) and upload this configuration to the equipment. This way, your documentation is always current.<\/li>\n<\/ul>\n<p>\nAll of this has led to<\/p>\n<ul>\n<li>the error rate decreased to almost 0<\/li>\n<li>90 percent of the routine has disappeared<\/li>\n<li>the speed of implementation has increased significantly<\/li>\n<\/ul>\n<p><\/p>\n<h2>PAY, F5Y, ACY<\/h2>\n<p>\nI mentioned that a few examples are enough to understand how it works.<br \/>\nHere is a brief (and of course modified) version of what was created during my work.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nihole\/PAY\">PAY<\/a><\/noindex> = deployment <b>P<\/b>alo <b>A<\/b>lto from <b>Y<\/b>aml = Palo Alto from Yaml<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nihole\/F5Y\">F5Y<\/a><\/noindex> = deployment <b>F5<\/b> from <b>Y<\/b>aml = <b>F5<\/b> from <b>Y<\/b>aml (coming soon)<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nihole\/ACY\">ACY<\/a><\/noindex> = deployment <b>AC<\/b>i from <b>Y<\/b>aml = <b>F5<\/b> from <b>Y<\/b>aml<\/p>\n<p>I'll add a few words about ACY (not to be confused with ACI).<\/p>\n<p>Those who have worked with ACI know that this wonder (and in a good sense too) was certainly not created by network engineers :). Forget everything you knew about networking \u2014 it will not be useful!<br \/>\nA bit exaggerated, but it approximately conveys the feeling that I have been experiencing for the past 3 years while working with ACI.<\/p>\n<p>In this case, ACY not only allows you to establish a change control process (which is particularly important in the case of ACI, as it is assumed to be the central and most critical part of your data center), but also provides a user-friendly interface for creating configurations. <\/p>\n<p>Engineers in this project use Excel instead of YAML for configuring ACI to achieve the same accuracy. There are certainly benefits to using Excel:<\/p>\n<ul>\n<li>your NIP in one file<\/li>\n<li>nice tables that are pleasant for the client to look at<\/li>\n<li>you can use some Excel tools<\/li>\n<\/ul>\n<p>\nBut there is one downside, and in my opinion, it outweighs the benefits. Controlling changes and coordinating team efforts becomes much more complex.<\/p>\n<p>ACY is essentially the application of the same approaches I used for 3rd party configurations to configure ACI.<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/453920\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0448\u0435\u0441\u0442\u043e\u0439 \u0432 \u0446\u0438\u043a\u043b\u0435 \u0441\u0442\u0430\u0442\u0435\u0439 \u00ab\u041a\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u043e\u0434 \u0441\u0432\u043e\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u00bb. \u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0441\u0442\u0430\u0442\u0435\u0439 \u0446\u0438\u043a\u043b\u0430 \u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0437\u0434\u0435\u0441\u044c. \u041e\u0441\u0442\u0430\u0432\u0438\u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043c \u043f\u043e\u0437\u0430\u0434\u0438, \u044f \u0440\u0435\u0448\u0438\u043b \u0432\u0441\u0435 \u0436\u0435 \u043d\u0430\u0447\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0433\u043b\u0430\u0432\u0443. \u041a \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0432\u0435\u0440\u043d\u0443\u0441\u044c \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435. \u0417\u0434\u0435\u0441\u044c \u044f \u0445\u043e\u0447\u0443 \u043e\u0431\u0441\u0443\u0434\u0438\u0442\u044c \u043e\u0434\u0438\u043d \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u043d\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439, \u0443\u0432\u0435\u0440\u0435\u043d, \u0432 \u0442\u043e\u043c \u0438\u043b\u0438 \u0438\u043d\u043e\u043c \u0432\u0438\u0434\u0435, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34742","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0448\u0435\u0441\u0442\u043e\u0439 \u0432 \u0446\u0438\u043a\u043b\u0435 \u0441\u0442\u0430\u0442\u0435\u0439 \u00ab\u041a\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u043e\u0434 \u0441\u0432\u043e\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u00bb.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-vzyat-setevuyu-infrastrukturu-pod-svoj-kontrol-glava-chetvertaya-avtomatizatsiya-templejty\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u043e\u0434 \u0441\u0432\u043e\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c. \u0413\u043b\u0430\u0432\u0430 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0430\u044f. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f. \u0422\u0435\u043c\u043f\u043b\u0435\u0439\u0442\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0448\u0435\u0441\u0442\u043e\u0439 \u0432 \u0446\u0438\u043a\u043b\u0435 \u0441\u0442\u0430\u0442\u0435\u0439 \u00ab\u041a\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u043e\u0434 \u0441\u0432\u043e\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u00bb.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-vzyat-setevuyu-infrastrukturu-pod-svoj-kontrol-glava-chetvertaya-avtomatizatsiya-templejty\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:00:10+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:00:10+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47How to Take Control of Your Network Infrastructure. Chapter Four. Automation. Templates | ProHoster","description":"This article is the sixth in a series titled 'How to Take Control of Your Network Infrastructure.'","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-vzyat-setevuyu-infrastrukturu-pod-svoj-kontrol-glava-chetvertaya-avtomatizatsiya-templejty","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u043e\u0434 \u0441\u0432\u043e\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c. \u0413\u043b\u0430\u0432\u0430 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0430\u044f. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f. \u0422\u0435\u043c\u043f\u043b\u0435\u0439\u0442\u044b | ProHoster","og:description":"\u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0448\u0435\u0441\u0442\u043e\u0439 \u0432 \u0446\u0438\u043a\u043b\u0435 \u0441\u0442\u0430\u0442\u0435\u0439 \u00ab\u041a\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u043e\u0434 \u0441\u0432\u043e\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u00bb.","og:url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-vzyat-setevuyu-infrastrukturu-pod-svoj-kontrol-glava-chetvertaya-avtomatizatsiya-templejty","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:00:10+00:00","article:modified_time":"2019-10-31T19:00:10+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34742","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 20:27:55","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:15:38","updated":"2026-01-21 20:27:55","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/34742","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=34742"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/34742\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=34742"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=34742"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=34742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}