{"id":79368,"date":"2020-03-02T07:20:14","date_gmt":"2020-03-02T15:20:14","guid":{"rendered":"https:\/\/cloudblogs.microsoft.com\/opensource\/?p=79368"},"modified":"2025-06-27T03:47:56","modified_gmt":"2025-06-27T10:47:56","slug":"announcing-the-terraform-azurerm-2-0-provider-release","status":"publish","type":"post","link":"https:\/\/opensource.microsoft.com\/blog\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/","title":{"rendered":"Announcing the Terraform AzureRM 2.0 Provider release"},"content":{"rendered":"\n<p>On behalf of HashiCorp and Microsoft, I am excited to announce the release of <a href=\"https:\/\/www.terraform.io\/docs\/providers\/azurerm\/guides\/2.0-upgrade-guide.html\">version 2.0 of the Azure Provider for Terraform<\/a>. Version 2.0 is a major version upgrade that incorporates a number of features that customers have been asking for, as well as a whole host of smaller but impactful changes. Our goal in releasing version 2.0 is to improve the experience of managing Microsoft Azure with Terraform.<\/p>\n\n\n\n<p>Azure has grown significantly since the Terraform AzureRM provider\u2019s inception in December 2015 and the breadth of services offered has continued to evolve. Although we have added more than 300 resources and almost 100 data sources to the 1.x provider, we have accrued a large list of changes to existing resources and new cross-cutting features that necessitate a new major version.<\/p>\n\n\n\n<p>In addition to new resources and data sources, this release has some highlights that we\u2019ll explore below:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"user-content-resource-level-custom-timeouts\">Resource level custom timeouts<\/h2>\n\n\n\n<p>In prior versions of the AzureRM provider, resource timeouts were restricted to 1 hour and did not accept overrides. A customizable setting in v2.0 allows users to override the default timeouts for resources. This change is most useful for resources that require extended windows for deletion.<\/p>\n\n\n\n<p>To set a custom timeout for a resource, follow the example below:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code hljs\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nresource \"azurerm_resource_group\" \"example\" {\n  name     = \"example-resource-group\"\n  location = \"West Europe\"\n \n  timeouts {\n    create = \"10m\"\n    delete = \"30m\"\n  }\n}\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"user-content-consistent-experience-when-importing-resources\">Consistent experience when importing resources<\/h2>\n\n\n\n<p>Version 2.0 of the Terraform Azure Provider aims to solve an issue in which it&#8217;s possible to unintentionally import resources into the state by running Terraform apply.<\/p>\n\n\n\n<p>In order to match the behavior of other Terraform providers, version 2.0 of the AzureRM Provider will require that existing resources are imported into the state prior to use. As of version 2.0, Terraform will check for the presence of an existing resource prior to creating it and will return an error similar to below:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code hljs\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nA resource with the ID \/subscriptions\/00000000-0000-0000-0000-000000000000\/resourceGroups\/group1 already exists - to be managed via Terraform this resource needs to be imported into the State. Please see the resource documentation for `azurerm_resource_group` for more information.\n\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"user-content-new-virtual-machine-and-virtual-machine-scale-set-resources\">New virtual machine and virtual machine scale set resources<\/h2>\n\n\n\n<p>We are introducing additional resources to provision virtual machines and virtual machine scale sets. Users are now able to select a resource that corresponds to the OS of the virtual machine they would like to use. Prior versions of the provider included catch-all resources for virtual machines and virtual machine scale sets. Those resources are still available in the provider as of v2.0 but will be deprecated in the future.<\/p>\n\n\n\n<p>The new virtual machine and virtual machine scale set resources in this version are:<\/p>\n\n\n\n<p>\u2022 azurerm_linux_virtual_machine \u2022 azurerm_windows_virtual_machine \u2022 azurerm_linux_virtual_machine_scale_set \u2022 azurerm_windows_virtual_machine_scale_set \u2022 azurerm_virtual_machine_scale_set_extension<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"user-content-removal-of-deprecated-fields\">Removal of deprecated fields<\/h2>\n\n\n\n<p>As version 2.0 is a major version, we will remove resources, data sources, and fields that have been deprecated over the course of the provider\u2019s lifetime.<\/p>\n\n\n\n<p>A complete list of fields that will no longer be included in the provider can be found&nbsp;<a href=\"https:\/\/www.terraform.io\/docs\/providers\/azurerm\/guides\/2.0-upgrade-guide.html#removal-of-deprecated-fields-data-sources-and-resources\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>. You can start using this version in your Terraform configurations today by simply adjusting your version in the provider block as follows:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code hljs\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nprovider \"azurerm\" {\n  version = \"=2.0.0\"\n}\n<\/pre><\/div>\n\n\n<p>For the full list of changes, additions, and guidance on upgrading to this version, check out the&nbsp;<a href=\"https:\/\/www.terraform.io\/docs\/providers\/azurerm\/guides\/2.0-upgrade-guide.html\" target=\"_blank\" rel=\"noopener noreferrer\">AzureRM v2.0 Upgrade Guide<\/a> topic in the Terraform provider documentation.<\/p>\n\n\n\n<p>We hope you like the changes. If you have any feedback, please let us know on&nbsp;<a href=\"https:\/\/github.com\/terraform-providers\/terraform-provider-azurerm\/issues\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>On behalf of HashiCorp and Microsoft, I am excited to announce the release of version 2.0 of the Azure Provider for Terraform. Version 2.0 is a major version upgrade that incorporates a number of features that customers have been asking for, as well as a whole host of smaller but impactful changes.<\/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":[141,2272,166,218],"content-type":[346],"topic":[2241,2244,2245],"programming-languages":[],"coauthors":[391],"class_list":["post-79368","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-hashicorp","tag-microsoft","tag-azure","tag-terraform","content-type-news","topic-cloud","topic-devops","topic-infrastructure","review-flag-1593580428-734","review-flag-1-1593580432-963","review-flag-2-1593580437-411","review-flag-new-1593580248-669"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Announcing the Terraform AzureRM 2.0 Provider release | Microsoft Open Source Blog<\/title>\n<meta name=\"description\" content=\"Version 2.0 of the Azure Provider for Terraform is now available, including significant improvements for managing Microsoft Azure with Terraform.\" \/>\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\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Announcing the Terraform AzureRM 2.0 Provider release | Microsoft Open Source Blog\" \/>\n<meta property=\"og:description\" content=\"Version 2.0 of the Azure Provider for Terraform is now available, including significant improvements for managing Microsoft Azure with Terraform.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/opensource.microsoft.com\/blog\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Open Source Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-02T15:20:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-27T10:47:56+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=\"Mark Gray\" \/>\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=\"Mark Gray\" \/>\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\\\/2020\\\/03\\\/02\\\/announcing-the-terraform-azurerm-2-0-provider-release\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/03\\\/02\\\/announcing-the-terraform-azurerm-2-0-provider-release\\\/\"},\"author\":[{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/author\\\/mark-gray\\\/\",\"@type\":\"Person\",\"@name\":\"Mark Gray\"}],\"headline\":\"Announcing the Terraform AzureRM 2.0 Provider release\",\"datePublished\":\"2020-03-02T15:20:14+00:00\",\"dateModified\":\"2025-06-27T10:47:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/03\\\/02\\\/announcing-the-terraform-azurerm-2-0-provider-release\\\/\"},\"wordCount\":531,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/03\\\/02\\\/announcing-the-terraform-azurerm-2-0-provider-release\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/SEC20_Security_042.webp\",\"keywords\":[\"HashiCorp\",\"Microsoft\",\"Microsoft Azure\",\"Terraform\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/03\\\/02\\\/announcing-the-terraform-azurerm-2-0-provider-release\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/03\\\/02\\\/announcing-the-terraform-azurerm-2-0-provider-release\\\/\",\"url\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/03\\\/02\\\/announcing-the-terraform-azurerm-2-0-provider-release\\\/\",\"name\":\"Announcing the Terraform AzureRM 2.0 Provider release | Microsoft Open Source Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/03\\\/02\\\/announcing-the-terraform-azurerm-2-0-provider-release\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/03\\\/02\\\/announcing-the-terraform-azurerm-2-0-provider-release\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/SEC20_Security_042.webp\",\"datePublished\":\"2020-03-02T15:20:14+00:00\",\"dateModified\":\"2025-06-27T10:47:56+00:00\",\"description\":\"Version 2.0 of the Azure Provider for Terraform is now available, including significant improvements for managing Microsoft Azure with Terraform.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/03\\\/02\\\/announcing-the-terraform-azurerm-2-0-provider-release\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/03\\\/02\\\/announcing-the-terraform-azurerm-2-0-provider-release\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/03\\\/02\\\/announcing-the-terraform-azurerm-2-0-provider-release\\\/#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\\\/2020\\\/03\\\/02\\\/announcing-the-terraform-azurerm-2-0-provider-release\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Announcing the Terraform AzureRM 2.0 Provider release\"}]},{\"@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":"Announcing the Terraform AzureRM 2.0 Provider release | Microsoft Open Source Blog","description":"Version 2.0 of the Azure Provider for Terraform is now available, including significant improvements for managing Microsoft Azure with Terraform.","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\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/","og_locale":"en_US","og_type":"article","og_title":"Announcing the Terraform AzureRM 2.0 Provider release | Microsoft Open Source Blog","og_description":"Version 2.0 of the Azure Provider for Terraform is now available, including significant improvements for managing Microsoft Azure with Terraform.","og_url":"https:\/\/opensource.microsoft.com\/blog\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/","og_site_name":"Microsoft Open Source Blog","article_published_time":"2020-03-02T15:20:14+00:00","article_modified_time":"2025-06-27T10:47:56+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":"Mark Gray","twitter_card":"summary_large_image","twitter_creator":"@OpenAtMicrosoft","twitter_site":"@OpenAtMicrosoft","twitter_misc":{"Written by":"Mark Gray","Est. reading time":"2 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/#article","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/"},"author":[{"@id":"https:\/\/opensource.microsoft.com\/blog\/author\/mark-gray\/","@type":"Person","@name":"Mark Gray"}],"headline":"Announcing the Terraform AzureRM 2.0 Provider release","datePublished":"2020-03-02T15:20:14+00:00","dateModified":"2025-06-27T10:47:56+00:00","mainEntityOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/"},"wordCount":531,"commentCount":0,"publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SEC20_Security_042.webp","keywords":["HashiCorp","Microsoft","Microsoft Azure","Terraform"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/opensource.microsoft.com\/blog\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/","url":"https:\/\/opensource.microsoft.com\/blog\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/","name":"Announcing the Terraform AzureRM 2.0 Provider release | Microsoft Open Source Blog","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/#primaryimage"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SEC20_Security_042.webp","datePublished":"2020-03-02T15:20:14+00:00","dateModified":"2025-06-27T10:47:56+00:00","description":"Version 2.0 of the Azure Provider for Terraform is now available, including significant improvements for managing Microsoft Azure with Terraform.","breadcrumb":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/opensource.microsoft.com\/blog\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/#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\/2020\/03\/02\/announcing-the-terraform-azurerm-2-0-provider-release\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/opensource.microsoft.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Announcing the Terraform AzureRM 2.0 Provider release"}]},{"@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_animated_featured_image":null,"bloginabox_display_generated_audio":false,"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\/79368","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=79368"}],"version-history":[{"count":1,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/79368\/revisions"}],"predecessor-version":[{"id":97704,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/79368\/revisions\/97704"}],"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=79368"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/post_tag?post=79368"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/content-type?post=79368"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/topic?post=79368"},{"taxonomy":"programming-languages","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/programming-languages?post=79368"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/coauthors?post=79368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}