{"id":73739,"date":"2018-07-31T08:00:08","date_gmt":"2018-07-31T15:00:08","guid":{"rendered":"https:\/\/open.microsoft.com\/?p=73739"},"modified":"2025-04-14T16:38:41","modified_gmt":"2025-04-14T23:38:41","slug":"tutorial-azure-rest-api-ansible-automate-azure-resources","status":"publish","type":"post","link":"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/","title":{"rendered":"Tutorial: Using Azure REST API in Ansible to automate Azure resources"},"content":{"rendered":"\n<p>Ansible 2.6 was released with more capabilities to provision and manage Azure resources. It includes four new modules for Azure Kubernetes Service and Azure Resource, and many enhancements to existing Ansible modules for Azure (e.g., Virtual Machine, Networking interface).<br>Here I&#8217;ll introduce two new modules <strong>azure_rm_resource<\/strong> and <strong>azure_rm_resource_facts<\/strong> which allow you to directly call the <a href=\"https:\/\/docs.microsoft.com\/rest\/api\/\">Azure REST API<\/a>. If you want to create or manage some Azure resource, but do not find an Ansible module for it, you could use azure_rm_resouce to call the Azure REST API to create that Azure resource and use azure_rm_resource_facts to obtain the facts of that Azure resource.<br>To get these new Ansible modules for Azure, you need to install:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>the latest Ansible version which is 2.6. Refer to <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/virtual-machines\/linux\/ansible-install-configure\">Install and Configure Ansible<\/a>.<\/li>\n<\/ul>\n\n\n\n<p>Or<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/galaxy.ansible.com\/Azure\/azure_preview_modules\/\">Azure Preview Module role<\/a> by running below command line if you are still using Ansible 2.5. This playbook role integrates new modules and fixes available in the latest Ansible devel branch. If you want to know more about Ansible Galaxy and Azure Preview Module role, read my <a href=\"https:\/\/open.microsoft.com\/2018\/04\/09\/azure-ansible-2-5-playbooks\/\">last blog<\/a>.<\/li>\n<\/ul>\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>Below is an example to use azure_rm_resource and azure_rm_resource_facts to create <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/event-hubs\/\">Event Hubs<\/a> on Azure. It defines variables, such as resource group name, and then executes below four tasks:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Create a resource group;<\/li>\n\n\n\n<li>Create an Event Hubs namespace;<\/li>\n\n\n\n<li>Wait for the namespace to become active asynchronously using facts module;<\/li>\n\n\n\n<li>Create an Event Hub.<\/li>\n<\/ol>\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- hosts: localhost\n  vars:\n    resource_group: myResourceGroup\n    location: eastus\n    namespacename: eventhubsnamesansible\n    eventhubname: eventhubsansible\n  tasks:\n    - name: Create a resource group\n      azure_rm_resourcegroup:\n        name: \"{{ resource_group }}\"\n        location: \"{{ location }}\"\n    - name: Create a namespace for an event hubs using REST API\n      azure_rm_resource:\n        api_version: '2017-04-01'\n        resource_group: \"{{ resource_group }}\"\n        provider: eventhub\n        resource_type: namespaces\n        resource_name: \"{{ namespacename }}\"\n        body:\n          location: \"{{ location }}\"\n          sku:\n            name: Basic\n            tier: Basic\n            capacity: 10\n          properties:\n            isAutoInflateEnabled: False\n    - name: Wait for namespace to be ready\n      azure_rm_resource_facts:\n        api_version: '2017-04-01'\n        resource_group: \"{{ resource_group }}\"\n        provider: eventhub\n        resource_type: namespaces\n        resource_name: \"{{ namespacename }}\"\n      register: output\n      until: output.response[0].properties.status == 'Active'\n      delay: 10\n    - name: Create an event hubs using REST API\n      azure_rm_resource:\n        api_version: '2017-04-01'\n        resource_group: \"{{ resource_group }}\"\n        provider: eventhub\n        resource_type: namespaces\n        resource_name: \"{{ namespacename }}\"\n        subresource:\n          - type: eventhubs\n            name: \"{{ eventhubname }}\"\n        body:\n          location: \"{{ location }}\"\n          properties:\n            messageRetentionInDays: 1\n<\/pre><\/div>\n\n\n<p>Save the preceding playbook as <em>eventhubs-create.yml<\/em>, or download the sample Ansible playbook <a href=\"https:\/\/raw.githubusercontent.com\/Azure-Samples\/ansible-playbooks\/master\/rest\/eventhub-create.yml\">here<\/a>. To run the Ansible playbook, use the ansible-playbook command 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-playbook eventhubs-create.yml\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\/07\/blog_ansible_restapi-1024x452.webp\" alt=\"ansible rest API\" class=\"wp-image-73755 webp-format\" srcset=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/07\/blog_ansible_restapi-1024x452.webp 1024w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/07\/blog_ansible_restapi-300x132.webp 300w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/07\/blog_ansible_restapi-768x339.webp 768w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/07\/blog_ansible_restapi-1536x677.webp 1536w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/07\/blog_ansible_restapi-330x146.webp 330w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/07\/blog_ansible_restapi-800x353.webp 800w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/07\/blog_ansible_restapi-400x176.webp 400w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/07\/blog_ansible_restapi.webp 1991w\" data-orig-src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/07\/blog_ansible_restapi-1024x452.webp\"><\/figure>\n\n\n\n<p>Congratulations! You\u2019ve successfully created your event hubs by calling Azure REST API with Ansible. If you go to the portal, you will see the your event hubs there.<\/p>\n\n\n\n<p>Now you could try to create your own Ansible playbook to provision a new Azure resource or manage existing Azure resource by calling Azure REST API. You could learn more from the documentation for <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/modules\/azure_rm_resource_module.html?highlight=azure%20rest%20resource\">azure_rm_resource<\/a> \/ <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/modules\/azure_rm_resource_facts_module.html?highlight=azure%20rest%20resource\">azure_rm_resource_facts<\/a> and search <a href=\"https:\/\/docs.microsoft.com\/rest\/api\/\">Azure REST API\u00a0<\/a> regarding details related to specific resource.<\/p>\n\n\n\n<p>If you want to learn more about Ansible on Azure, check out the latest <a href=\"https:\/\/aka.ms\/azfr\/457\">Azure Friday<\/a>.<\/p>\n\n\n\n<p>Questions? Let us know in the comments.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ansible 2.6 was released with more capabilities to provision and manage Azure resources. It includes four new modules for Azure Kubernetes Service and Azure Resource, and many enhancements to existing Ansible modules for Azure (e.g., Virtual Machine, Networking interface).<\/p>\n","protected":false},"author":5562,"featured_media":95487,"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":[2241,2244,2252],"programming-languages":[],"coauthors":[2338],"class_list":["post-73739","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-cloud","topic-devops","topic-tools","review-flag-1593580428-734","review-flag-1593580771-946","review-flag-1-1593580432-963","review-flag-2-1593580437-411","review-flag-5-1593580453-725","review-flag-6-1593580457-852","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>Tutorial: Using Azure REST API in Ansible to automate Azure resources<\/title>\n<meta name=\"description\" content=\"Since Ansible 2.6, you can direclty call Azure REST API in Ansible to create or manage any Azure resources, such as Event Hubs and Cosmos DB.\" \/>\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\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutorial: Using Azure REST API in Ansible to automate Azure resources\" \/>\n<meta property=\"og:description\" content=\"Since Ansible 2.6, you can direclty call Azure REST API in Ansible to create or manage any Azure resources, such as Event Hubs and Cosmos DB.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Open Source Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-07-31T15:00:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-14T23:38:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.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\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/\"},\"author\":[{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/author\/kylie-liang\/\",\"@type\":\"Person\",\"@name\":\"Kylie Liang\"}],\"headline\":\"Tutorial: Using Azure REST API in Ansible to automate Azure resources\",\"datePublished\":\"2018-07-31T15:00:08+00:00\",\"dateModified\":\"2025-04-14T23:38:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/\"},\"wordCount\":385,\"commentCount\":5,\"publisher\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.webp\",\"keywords\":[\"Ansible\",\"Microsoft\",\"Microsoft Azure\",\"Red Hat\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/\",\"name\":\"Tutorial: Using Azure REST API in Ansible to automate Azure resources\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.webp\",\"datePublished\":\"2018-07-31T15:00:08+00:00\",\"dateModified\":\"2025-04-14T23:38:41+00:00\",\"description\":\"Since Ansible 2.6, you can direclty call Azure REST API in Ansible to create or manage any Azure resources, such as Event Hubs and Cosmos DB.\",\"breadcrumb\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/#primaryimage\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.webp\",\"contentUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.webp\",\"width\":1170,\"height\":640},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/opensource.microsoft.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorial: Using Azure REST API in Ansible to automate Azure resources\"}]},{\"@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":"Tutorial: Using Azure REST API in Ansible to automate Azure resources","description":"Since Ansible 2.6, you can direclty call Azure REST API in Ansible to create or manage any Azure resources, such as Event Hubs and Cosmos DB.","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\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/","og_locale":"en_US","og_type":"article","og_title":"Tutorial: Using Azure REST API in Ansible to automate Azure resources","og_description":"Since Ansible 2.6, you can direclty call Azure REST API in Ansible to create or manage any Azure resources, such as Event Hubs and Cosmos DB.","og_url":"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/","og_site_name":"Microsoft Open Source Blog","article_published_time":"2018-07-31T15:00:08+00:00","article_modified_time":"2025-04-14T23:38:41+00:00","og_image":[{"width":1170,"height":640,"url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.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\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/#article","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/"},"author":[{"@id":"https:\/\/opensource.microsoft.com\/blog\/author\/kylie-liang\/","@type":"Person","@name":"Kylie Liang"}],"headline":"Tutorial: Using Azure REST API in Ansible to automate Azure resources","datePublished":"2018-07-31T15:00:08+00:00","dateModified":"2025-04-14T23:38:41+00:00","mainEntityOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/"},"wordCount":385,"commentCount":5,"publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.webp","keywords":["Ansible","Microsoft","Microsoft Azure","Red Hat"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/","url":"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/","name":"Tutorial: Using Azure REST API in Ansible to automate Azure resources","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/#primaryimage"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.webp","datePublished":"2018-07-31T15:00:08+00:00","dateModified":"2025-04-14T23:38:41+00:00","description":"Since Ansible 2.6, you can direclty call Azure REST API in Ansible to create or manage any Azure resources, such as Event Hubs and Cosmos DB.","breadcrumb":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/#primaryimage","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.webp","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.webp","width":1170,"height":640},{"@type":"BreadcrumbList","@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/07\/31\/tutorial-azure-rest-api-ansible-automate-azure-resources\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/opensource.microsoft.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tutorial: Using Azure REST API in Ansible to automate Azure resources"}]},{"@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\/73739","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=73739"}],"version-history":[{"count":2,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/73739\/revisions"}],"predecessor-version":[{"id":97367,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/73739\/revisions\/97367"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media\/95487"}],"wp:attachment":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media?parent=73739"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/post_tag?post=73739"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/content-type?post=73739"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/topic?post=73739"},{"taxonomy":"programming-languages","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/programming-languages?post=73739"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/coauthors?post=73739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}