{"id":73337,"date":"2018-04-09T10:13:26","date_gmt":"2018-04-09T17:13:26","guid":{"rendered":"https:\/\/open.microsoft.com\/?p=73337"},"modified":"2025-01-24T12:52:02","modified_gmt":"2025-01-24T20:52:02","slug":"azure-ansible-2-5-playbooks","status":"publish","type":"post","link":"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/","title":{"rendered":"Automate more Azure resources with Ansible 2.5 and Galaxy"},"content":{"rendered":"\n<p>Recently, Microsoft announced several <a href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/a-great-developer-experience-for-ansible\/\">key improvements to the developer experience when using Ansible on Azure<\/a>, including Ansible in <a href=\"http:\/\/shell.azure.com\/\">Azure Cloud Shell<\/a> and Ansible extension in Visual Studio Code. Today, I&#8217;d to share with you new Azure content that is available in Ansible 2.5.<\/p>\n\n\n\n<p>In total, 13 new Azure modules are now included in the 2.5 release of Ansible. These new modules focus on provisioning the following Azure services, including container and database scenarios:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Image<\/li>\n\n\n\n<li>Container Instance<\/li>\n\n\n\n<li>Container Registry<\/li>\n\n\n\n<li>SQL server and database<\/li>\n\n\n\n<li>MySQL server and database<\/li>\n\n\n\n<li>PostgreSQL server and database<\/li>\n\n\n\n<li>Key Vault<\/li>\n<\/ul>\n\n\n\n<p>You can find sample Ansible playbooks that utilize the new modules here: <a href=\"https:\/\/github.com\/Azure-Samples\/ansible-playbooks\">https:\/\/github.com\/Azure-Samples\/ansible-playbooks<\/a>.<\/p>\n\n\n\n<p>If you&#8217;re saying, this is great, but is there any way to get more Ansible content, I have good news for you&#8230; We&#8217;re using Ansible Galaxy to deliver the latest bug fixes and new modules ahead of the next Ansible release. Check Ansible Galaxy for the latest fixes and module previews &#8211;&nbsp;<a href=\"https:\/\/galaxy.ansible.com\/Azure\/azure_preview_modules\/\">Azure Preview Module role<\/a>.<\/p>\n\n\n\n<p>We encourage everyone try it out and file bug or feature request in github to help us improve them before upstreaming. And, please aware that API may change according to bug or feature requests.<\/p>\n\n\n\n<p>To install the playbook role, only one command is needed, as follows:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n$ ansible-galaxy install Azure.azure_preview_modules\n<\/pre><\/div>\n\n\n<p>Then, download the sample playbooks and try AppGatewayCreate.yml, which will call a new module named azure_rm_appgw available in azure_preview_module to create an application gateway on Azure.<\/p>\n\n\n\n<p><em>Note: If you don&#8217;t use environment variables to export service principal credentials, please open &#8220;AppGatewayCreate.yml&#8221; and add your subscription ID for the variable of &#8220;azure_subscription_id&#8221;. As for how to configure your environment for Ansible on Azure, refer to <a href=\"http:\/\/docs.ansible.com\/ansible\/devel\/scenario_guides\/guide_azure.html\">guide_azure<\/a>.<\/em><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n$ git clone https:\/\/github.com\/Azure-Samples\/ansible-playbooks.git\n$ cd ansible-playbooks\n$ ansible-playbook AppGatewayCreate.yml\n<\/pre><\/div>\n\n\n<p>After minutes, you will get the following output. Some new modules request the latest Azure Python SDK.<\/p>\n\n\n\n<p><em>Note: If you met any error, like some package is not found, you can upgrade your Azure Python SDK by running below command.<\/em><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n$ pip install -r ~\/.ansible\/roles\/Azure.azure_preview_modules\/files\/requirements-azure.txt\n<\/pre><\/div>\n\n\n<p>or<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n$ sudo pip install -r ~\/.ansible\/roles\/Azure.azure_preview_modules\/files\/requirements-azure.txt\n<\/pre><\/div>\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/04\/ansible-post-1-1024x539.webp\" alt=\"command terminal\" class=\"wp-image-73338 webp-format\" srcset=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/04\/ansible-post-1-1024x539.webp 1024w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/04\/ansible-post-1-300x158.webp 300w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/04\/ansible-post-1-768x405.webp 768w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/04\/ansible-post-1-1536x809.webp 1536w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/04\/ansible-post-1-1200x630.webp 1200w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/04\/ansible-post-1-600x315.webp 600w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/04\/ansible-post-1-330x174.webp 330w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/04\/ansible-post-1-800x421.webp 800w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/04\/ansible-post-1-400x211.webp 400w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/04\/ansible-post-1.webp 2031w\" data-orig-src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/04\/ansible-post-1-1024x539.webp\"><\/figure>\n\n\n\n<p>Congratulations! You&#8217;ve successfully created your application gateway through the Ansible playbook role for Azure. If you go to the portal, you will see the your application gateway there.<\/p>\n\n\n\n<p>BTW, you can also use Ansible extension to accelerate your Ansible playbook development and test in Visual Studio Code.<\/p>\n\n\n\n<p>Questions? Let us know in the comments.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently, Microsoft announced several key improvements to the developer experience when using Ansible on Azure, including Ansible in Azure Cloud Shell and Ansible extension in Visual Studio Code. Today, I&#8217;d to share with you new Azure content that is available in Ansible 2.5. In total, 13 new Azure modules are now included in the 2.<\/p>\n","protected":false},"author":5562,"featured_media":95483,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"msxcm_post_with_no_image":false,"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","footnotes":""},"post_tag":[87,2272,166,206],"content-type":[340],"topic":[2240,2241,2244],"programming-languages":[],"coauthors":[2338],"class_list":["post-73337","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-ansible","tag-microsoft","tag-azure","tag-red-hat","content-type-tutorials-and-demos","topic-application-development","topic-cloud","topic-devops","review-flag-1593580428-734","review-flag-1593580771-946","review-flag-2-1593580437-411","review-flag-5-1593580453-725","review-flag-new-1593580248-669"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Automate more Azure resources with Ansible 2.5 and Galaxy | Microsoft Open Source Blog<\/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:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automate more Azure resources with Ansible 2.5 and Galaxy | Microsoft Open Source Blog\" \/>\n<meta property=\"og:description\" content=\"Recently, Microsoft announced several key improvements to the developer experience when using Ansible on Azure, including Ansible in Azure Cloud Shell and Ansible extension in Visual Studio Code. Today, I&#8217;d to share with you new Azure content that is available in Ansible 2.5. In total, 13 new Azure modules are now included in the 2.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Open Source Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-04-09T17:13:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-24T20:52:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SEC20_Security_042.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1170\" \/>\n\t<meta property=\"og:image:height\" content=\"640\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kylie Liang\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:site\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kylie Liang\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 min read\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/\"},\"author\":[{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/author\/kylie-liang\/\",\"@type\":\"Person\",\"@name\":\"Kylie Liang\"}],\"headline\":\"Automate more Azure resources with Ansible 2.5 and Galaxy\",\"datePublished\":\"2018-04-09T17:13:26+00:00\",\"dateModified\":\"2025-01-24T20:52:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/\"},\"wordCount\":391,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SEC20_Security_042.webp\",\"keywords\":[\"Ansible\",\"Microsoft\",\"Microsoft Azure\",\"Red Hat\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/\",\"name\":\"Automate more Azure resources with Ansible 2.5 and Galaxy | Microsoft Open Source Blog\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SEC20_Security_042.webp\",\"datePublished\":\"2018-04-09T17:13:26+00:00\",\"dateModified\":\"2025-01-24T20:52:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/#primaryimage\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SEC20_Security_042.webp\",\"contentUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SEC20_Security_042.webp\",\"width\":1170,\"height\":640},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/opensource.microsoft.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automate more Azure resources with Ansible 2.5 and Galaxy\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#website\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/\",\"name\":\"Microsoft Open Source Blog\",\"description\":\"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability\",\"publisher\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\",\"name\":\"Microsoft Open Source Blog\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"contentUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"width\":259,\"height\":194,\"caption\":\"Microsoft Open Source Blog\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/OpenAtMicrosoft\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Automate more Azure resources with Ansible 2.5 and Galaxy | Microsoft Open Source Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/","og_locale":"en_US","og_type":"article","og_title":"Automate more Azure resources with Ansible 2.5 and Galaxy | Microsoft Open Source Blog","og_description":"Recently, Microsoft announced several key improvements to the developer experience when using Ansible on Azure, including Ansible in Azure Cloud Shell and Ansible extension in Visual Studio Code. Today, I&#8217;d to share with you new Azure content that is available in Ansible 2.5. In total, 13 new Azure modules are now included in the 2.","og_url":"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/","og_site_name":"Microsoft Open Source Blog","article_published_time":"2018-04-09T17:13:26+00:00","article_modified_time":"2025-01-24T20:52:02+00:00","og_image":[{"width":1170,"height":640,"url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SEC20_Security_042.png","type":"image\/png"}],"author":"Kylie Liang","twitter_card":"summary_large_image","twitter_creator":"@OpenAtMicrosoft","twitter_site":"@OpenAtMicrosoft","twitter_misc":{"Written by":"Kylie Liang","Est. reading time":"2 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/#article","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/"},"author":[{"@id":"https:\/\/opensource.microsoft.com\/blog\/author\/kylie-liang\/","@type":"Person","@name":"Kylie Liang"}],"headline":"Automate more Azure resources with Ansible 2.5 and Galaxy","datePublished":"2018-04-09T17:13:26+00:00","dateModified":"2025-01-24T20:52:02+00:00","mainEntityOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/"},"wordCount":391,"commentCount":0,"publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SEC20_Security_042.webp","keywords":["Ansible","Microsoft","Microsoft Azure","Red Hat"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/","url":"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/","name":"Automate more Azure resources with Ansible 2.5 and Galaxy | Microsoft Open Source Blog","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/#primaryimage"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SEC20_Security_042.webp","datePublished":"2018-04-09T17:13:26+00:00","dateModified":"2025-01-24T20:52:02+00:00","breadcrumb":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/#primaryimage","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SEC20_Security_042.webp","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SEC20_Security_042.webp","width":1170,"height":640},{"@type":"BreadcrumbList","@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/04\/09\/azure-ansible-2-5-playbooks\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/opensource.microsoft.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Automate more Azure resources with Ansible 2.5 and Galaxy"}]},{"@type":"WebSite","@id":"https:\/\/opensource.microsoft.com\/blog\/#website","url":"https:\/\/opensource.microsoft.com\/blog\/","name":"Microsoft Open Source Blog","description":"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability","publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/opensource.microsoft.com\/blog\/#organization","name":"Microsoft Open Source Blog","url":"https:\/\/opensource.microsoft.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","width":259,"height":194,"caption":"Microsoft Open Source Blog"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/OpenAtMicrosoft"]}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Open Source Blog","distributor_original_site_url":"https:\/\/opensource.microsoft.com\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/73337","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/users\/5562"}],"replies":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/comments?post=73337"}],"version-history":[{"count":3,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/73337\/revisions"}],"predecessor-version":[{"id":97010,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/73337\/revisions\/97010"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media\/95483"}],"wp:attachment":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media?parent=73337"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/post_tag?post=73337"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/content-type?post=73337"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/topic?post=73337"},{"taxonomy":"programming-languages","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/programming-languages?post=73337"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/coauthors?post=73337"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}