{"id":22331,"date":"2021-07-06T15:03:27","date_gmt":"2021-07-06T14:03:27","guid":{"rendered":"https:\/\/aidanfinn.com\/?p=22331"},"modified":"2021-07-07T08:48:16","modified_gmt":"2021-07-07T07:48:16","slug":"understanding-the-azure-image-builder-resources","status":"publish","type":"post","link":"https:\/\/aidanfinn.com\/?p=22331","title":{"rendered":"Understanding the Azure Image Builder Resources"},"content":{"rendered":"<p>In this post, I will explain the roles of and links\/connections between the various resources used by Azure Image Builder.<\/p>\n<h2>Background<\/h2>\n<p>I enjoy the month of July. My customers, all in the Nordics, are off for the entire month and I am working. This year has been a crazy busy one so far, so there has been almost no time in the lab &#8211; noticeable I&#8217;m sure by my lack of writing. But this month, if all goes to plan, I will have plenty of time in the lab. As I type, a pipeline is deploying a <em>very large<\/em> lab for me. While that runs, I&#8217;ve been doing some hands on lab work.<\/p>\n<p>Recently I helped develop and use an image building process, based on <a href=\"https:\/\/www.packer.io\/\" target=\"_blank\" rel=\"noopener\">Packer<\/a>, to regularly create images for a Citrix farm hosted in Microsoft Azure. It&#8217;s a pretty sweet solution that is driven from Azure DevOps and results in a very automated deployment that requires little work to update app versions or add\/remove apps. At the time, I quickly evaluated <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/virtual-machines\/image-builder-overview\" target=\"_blank\" rel=\"noopener\">Azure Image Builder<\/a> (also based on Packer but still in Preview back then) but I thought it was too complicated and would still require the same pieces as our Packer solution. But I did decide to come back to Azure Image Builder when there was time (today) and have another look.<\/p>\n<p>The first mission &#8211; figure out the resource complexity (compared to Packer by itself).<\/p>\n<h2>The Resources<\/h2>\n<p>I believe that one of Microsoft&#8217;s failings when documenting these services is their inability to explain the functions of the resources and how they work together. Working primarily in ARM templates, I get to see that stuff (a little). I&#8217;ve always felt that understanding the underlying system helps with understanding the solution &#8211; it was that way with Hyper-V and that continues with Azure.<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2021\/07\/AzureImageGalleryC.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-22350\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2021\/07\/AzureImageGalleryC.png\" alt=\"\" width=\"600\" height=\"242\" srcset=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2021\/07\/AzureImageGalleryC.png 1261w, https:\/\/aidanfinn.com\/wp-content\/uploads\/2021\/07\/AzureImageGalleryC-300x121.png 300w, https:\/\/aidanfinn.com\/wp-content\/uploads\/2021\/07\/AzureImageGalleryC-1024x413.png 1024w, https:\/\/aidanfinn.com\/wp-content\/uploads\/2021\/07\/AzureImageGalleryC-768x310.png 768w, https:\/\/aidanfinn.com\/wp-content\/uploads\/2021\/07\/AzureImageGalleryC-1200x484.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/a><\/p>\n<h3>Managed Identity &#8211; Microsoft.ManagedIdentity\/userAssignedIdentities<\/h3>\n<p>A managed identity will be used by an Image Template to authorise Packer to use the imaging process that you are building. A <a href=\"https:\/\/raw.githubusercontent.com\/azure\/azvmimagebuilder\/master\/solutions\/12_Creating_AIB_Security_Roles\/aibRoleImageCreation.json\" target=\"_blank\" rel=\"noopener\">custom role<\/a> is associated with this Managed Identity, granting Packer rights to the resource group that the Shared Image Gallery, Image Definition, and Image Template are stored in.<\/p>\n<h3>Shared Image Gallery &#8211; Microsoft.Compute\/galleries\/images<\/h3>\n<p>The Shared Image Gallery is the management resource for images. The only notable attribute in the deployment is the name of the resource, which sadly, is similar to things like Storage Accounts in lacking standardisation with the rest of Microsoft Azure resource naming.<\/p>\n<h3>Image Definition- Microsoft.Compute\/galleries\/images<\/h3>\n<p>The Image Definition documents your image as you would like to present it to your &#8220;customers&#8221;.<\/p>\n<p>The Image Definition is associated with the Shared Image Gallery by naming. If your Shared Image Gallery was named &#8220;myGallery&#8221; then an image definition called &#8220;myImage&#8221; would actually be named as &#8220;myGallery\/myImage&#8221;.<\/p>\n<p>The properties document things including:<\/p>\n<ul>\n<li>VM generation<\/li>\n<li>OS type<\/li>\n<li>Generalised or not<\/li>\n<li>How you will brand the images build from the Image Definition<\/li>\n<\/ul>\n<h3>Image Template &#8211; Microsoft.VirtualMachineImages\/imageTemplates<\/h3>\n<p>This is where you will end up spending most of your time while operating the imaging process over time.<\/p>\n<p>The Image Template describes to Packer (hidden by Azure) how it will build your image:<\/p>\n<ul>\n<li>Identity points to the resource ID of the Managed Identity, permitting Packer to sign in as that identity\/receiving its rights when using this Image Template to build an Image Version.<\/li>\n<li>Properties:\n<ul>\n<li>Source: The base image from the Azure Marketplace to start the build with.<\/li>\n<li>Customize: The tasks that can be run, including PowerShell scripts that can be downloaded, to customise the image, including installing software, configuring the OS, patching and rebooting.<\/li>\n<li>Distribute: Here you associate the Image Template with an Image Definition, referencing the resource ID of the desired Image Definition. Everytime you run this Image Template, a new Image Version of the Image Definition will be created.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Image Version &#8211; Microsoft.Compute\/galleries\/images\/versions<\/h3>\n<p>An Image Version, a resource with a messy resource name that will break your naming standards, is created when you build from an Image Template. The name of the Image Version is based on the name of the Image Definition plus an incremental number. If my Image Definition is named &#8220;myGallery\/myImage&#8221; then the Image Version will be named &#8220;myGallery\/myImage\/&lt;unique number&gt;&#8221;.<\/p>\n<p>The properties of this resource include a publishing profile, documenting to what regions an image is replicated and how it is stored.<\/p>\n<h3>What Is Not Covered<\/h3>\n<p>Packer will create a resource group and virtual machine (and associated resources) to build the new image. The way that the virtual machine is networked (public IP address by default) can normally be manipulated by the Image Template when using Packer.<\/p>\n<h2>Summary<\/h2>\n<p>There is a lot more here than with a simple run of Packer. But, Azure Image Builder provides a lot more functionality for making images available to &#8220;customers&#8221; across an enterprise-scale deployment; that&#8217;s really where all the complexity comes from and I guess &#8220;releasing&#8221; is something that Microsoft knows a lot about.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this post, I will explain the roles of and links\/connections between the various resources used by Azure Image Builder. Background I enjoy the month of July. My customers, all in the Nordics, are off for the entire month and I am working. This year has been a crazy busy one so far, so there &hellip; <a href=\"https:\/\/aidanfinn.com\/?p=22331\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Understanding the Azure Image Builder Resources&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":19832,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"_wpcom_ai_launchpad_first_post":false,"footnotes":""},"categories":[5,1],"tags":[170,470,471,472,473,474,468,153],"class_list":["post-22331","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","category-uncategorized","tag-azure","tag-azure-image-builder","tag-azure-shared-image-gallery","tag-image-definition","tag-image-template","tag-image-version","tag-packer","tag-virtual-machines"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"This post will explain how Azure Image Builder works by explaining the functions and connections of the resources that are used.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"AFinn\"\/>\n\t<meta name=\"google-site-verification\" content=\"TDKjbi2McB2eLIfL6KwPB3aQqv5E-mbcb2QYIcovGaI\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/aidanfinn.com\/?p=22331\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_GB\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Aidan Finn, IT Pro - A blog covering Azure, Hyper-V, Windows Server, desktop, systems management, deployment, and so on ...\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Understanding the Azure Image Builder Resources | Aidan Finn, IT Pro\" \/>\n\t\t<meta property=\"og:description\" content=\"This post will explain how Azure Image Builder works by explaining the functions and connections of the resources that are used.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/aidanfinn.com\/?p=22331\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-07-06T14:03:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-07-07T07:48:16+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@joe_elway\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Understanding the Azure Image Builder Resources | Aidan Finn, IT Pro\" \/>\n\t\t<meta name=\"twitter:description\" content=\"This post will explain how Azure Image Builder works by explaining the functions and connections of the resources that are used.\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@joe_elway\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=22331#article\",\"name\":\"Understanding the Azure Image Builder Resources | Aidan Finn, IT Pro\",\"headline\":\"Understanding the Azure Image Builder Resources\",\"author\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?author=1#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/aidanfinn.com\\\/wp-content\\\/uploads\\\/2016\\\/08\\\/Capture.png\",\"width\":352,\"height\":327},\"datePublished\":\"2021-07-06T15:03:27+01:00\",\"dateModified\":\"2021-07-07T08:48:16+01:00\",\"inLanguage\":\"en-GB\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=22331#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=22331#webpage\"},\"articleSection\":\"Azure, Uncategorized, Azure, Azure Image Builder, Azure Shared Image Gallery, Image Definition, Image Template, Image Version, Packer, Virtual Machines\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=22331#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/aidanfinn.com#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/aidanfinn.com\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?cat=1#listItem\",\"name\":\"Uncategorized\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?cat=1#listItem\",\"position\":2,\"name\":\"Uncategorized\",\"item\":\"https:\\\/\\\/aidanfinn.com\\\/?cat=1\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=22331#listItem\",\"name\":\"Understanding the Azure Image Builder Resources\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/aidanfinn.com#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=22331#listItem\",\"position\":3,\"name\":\"Understanding the Azure Image Builder Resources\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?cat=1#listItem\",\"name\":\"Uncategorized\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/#person\",\"name\":\"AFinn\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=22331#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/65fde4aa9f2ab1cf1514ae320a37ec682d9398ce5791d3c2dd1e8670a71ceea0?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"AFinn\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?author=1#author\",\"url\":\"https:\\\/\\\/aidanfinn.com\\\/?author=1\",\"name\":\"AFinn\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=22331#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/65fde4aa9f2ab1cf1514ae320a37ec682d9398ce5791d3c2dd1e8670a71ceea0?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"AFinn\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=22331#webpage\",\"url\":\"https:\\\/\\\/aidanfinn.com\\\/?p=22331\",\"name\":\"Understanding the Azure Image Builder Resources | Aidan Finn, IT Pro\",\"description\":\"This post will explain how Azure Image Builder works by explaining the functions and connections of the resources that are used.\",\"inLanguage\":\"en-GB\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=22331#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?author=1#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?author=1#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/aidanfinn.com\\\/wp-content\\\/uploads\\\/2016\\\/08\\\/Capture.png\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=22331\\\/#mainImage\",\"width\":352,\"height\":327},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=22331#mainImage\"},\"datePublished\":\"2021-07-06T15:03:27+01:00\",\"dateModified\":\"2021-07-07T08:48:16+01:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/#website\",\"url\":\"https:\\\/\\\/aidanfinn.com\\\/\",\"name\":\"Aidan Finn, IT Pro\",\"description\":\"A blog covering Azure, Hyper-V, Windows Server, desktop, systems management, deployment, and so on ...\",\"inLanguage\":\"en-GB\",\"publisher\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Understanding the Azure Image Builder Resources | Aidan Finn, IT Pro","description":"This post will explain how Azure Image Builder works by explaining the functions and connections of the resources that are used.","canonical_url":"https:\/\/aidanfinn.com\/?p=22331","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"TDKjbi2McB2eLIfL6KwPB3aQqv5E-mbcb2QYIcovGaI","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/aidanfinn.com\/?p=22331#article","name":"Understanding the Azure Image Builder Resources | Aidan Finn, IT Pro","headline":"Understanding the Azure Image Builder Resources","author":{"@id":"https:\/\/aidanfinn.com\/?author=1#author"},"publisher":{"@id":"https:\/\/aidanfinn.com\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/aidanfinn.com\/wp-content\/uploads\/2016\/08\/Capture.png","width":352,"height":327},"datePublished":"2021-07-06T15:03:27+01:00","dateModified":"2021-07-07T08:48:16+01:00","inLanguage":"en-GB","mainEntityOfPage":{"@id":"https:\/\/aidanfinn.com\/?p=22331#webpage"},"isPartOf":{"@id":"https:\/\/aidanfinn.com\/?p=22331#webpage"},"articleSection":"Azure, Uncategorized, Azure, Azure Image Builder, Azure Shared Image Gallery, Image Definition, Image Template, Image Version, Packer, Virtual Machines"},{"@type":"BreadcrumbList","@id":"https:\/\/aidanfinn.com\/?p=22331#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/aidanfinn.com#listItem","position":1,"name":"Home","item":"https:\/\/aidanfinn.com","nextItem":{"@type":"ListItem","@id":"https:\/\/aidanfinn.com\/?cat=1#listItem","name":"Uncategorized"}},{"@type":"ListItem","@id":"https:\/\/aidanfinn.com\/?cat=1#listItem","position":2,"name":"Uncategorized","item":"https:\/\/aidanfinn.com\/?cat=1","nextItem":{"@type":"ListItem","@id":"https:\/\/aidanfinn.com\/?p=22331#listItem","name":"Understanding the Azure Image Builder Resources"},"previousItem":{"@type":"ListItem","@id":"https:\/\/aidanfinn.com#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/aidanfinn.com\/?p=22331#listItem","position":3,"name":"Understanding the Azure Image Builder Resources","previousItem":{"@type":"ListItem","@id":"https:\/\/aidanfinn.com\/?cat=1#listItem","name":"Uncategorized"}}]},{"@type":"Person","@id":"https:\/\/aidanfinn.com\/#person","name":"AFinn","image":{"@type":"ImageObject","@id":"https:\/\/aidanfinn.com\/?p=22331#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/65fde4aa9f2ab1cf1514ae320a37ec682d9398ce5791d3c2dd1e8670a71ceea0?s=96&d=mm&r=g","width":96,"height":96,"caption":"AFinn"}},{"@type":"Person","@id":"https:\/\/aidanfinn.com\/?author=1#author","url":"https:\/\/aidanfinn.com\/?author=1","name":"AFinn","image":{"@type":"ImageObject","@id":"https:\/\/aidanfinn.com\/?p=22331#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/65fde4aa9f2ab1cf1514ae320a37ec682d9398ce5791d3c2dd1e8670a71ceea0?s=96&d=mm&r=g","width":96,"height":96,"caption":"AFinn"}},{"@type":"WebPage","@id":"https:\/\/aidanfinn.com\/?p=22331#webpage","url":"https:\/\/aidanfinn.com\/?p=22331","name":"Understanding the Azure Image Builder Resources | Aidan Finn, IT Pro","description":"This post will explain how Azure Image Builder works by explaining the functions and connections of the resources that are used.","inLanguage":"en-GB","isPartOf":{"@id":"https:\/\/aidanfinn.com\/#website"},"breadcrumb":{"@id":"https:\/\/aidanfinn.com\/?p=22331#breadcrumblist"},"author":{"@id":"https:\/\/aidanfinn.com\/?author=1#author"},"creator":{"@id":"https:\/\/aidanfinn.com\/?author=1#author"},"image":{"@type":"ImageObject","url":"https:\/\/aidanfinn.com\/wp-content\/uploads\/2016\/08\/Capture.png","@id":"https:\/\/aidanfinn.com\/?p=22331\/#mainImage","width":352,"height":327},"primaryImageOfPage":{"@id":"https:\/\/aidanfinn.com\/?p=22331#mainImage"},"datePublished":"2021-07-06T15:03:27+01:00","dateModified":"2021-07-07T08:48:16+01:00"},{"@type":"WebSite","@id":"https:\/\/aidanfinn.com\/#website","url":"https:\/\/aidanfinn.com\/","name":"Aidan Finn, IT Pro","description":"A blog covering Azure, Hyper-V, Windows Server, desktop, systems management, deployment, and so on ...","inLanguage":"en-GB","publisher":{"@id":"https:\/\/aidanfinn.com\/#person"}}]},"og:locale":"en_GB","og:site_name":"Aidan Finn, IT Pro - A blog covering Azure, Hyper-V, Windows Server, desktop, systems management, deployment, and so on ...","og:type":"article","og:title":"Understanding the Azure Image Builder Resources | Aidan Finn, IT Pro","og:description":"This post will explain how Azure Image Builder works by explaining the functions and connections of the resources that are used.","og:url":"https:\/\/aidanfinn.com\/?p=22331","article:published_time":"2021-07-06T14:03:27+00:00","article:modified_time":"2021-07-07T07:48:16+00:00","twitter:card":"summary","twitter:site":"@joe_elway","twitter:title":"Understanding the Azure Image Builder Resources | Aidan Finn, IT Pro","twitter:description":"This post will explain how Azure Image Builder works by explaining the functions and connections of the resources that are used.","twitter:creator":"@joe_elway"},"aioseo_meta_data":{"post_id":"22331","title":null,"description":"This post will explain how Azure Image Builder works by explaining the functions and connections of the resources that are used.","keywords":[],"keyphrases":{"focus":{"keyphrase":"Azure Image Builder","score":78,"analysis":{"keyphraseInTitle":{"title":"Focus Keyphrase in SEO title","description":"Focus Keyphrase found in SEO title.","score":9,"maxScore":9,"error":0},"keyphraseInDescription":{"title":"Focus keyphrase in meta description","description":"Focus keyphrase found in meta description.","score":9,"maxScore":9,"error":0},"keyphraseInURL":[],"keyphraseInIntroduction":{"title":"Focus keyphrase in introduction","description":"Your Focus keyphrase appears in the first paragraph. Well done!","score":9,"maxScore":9,"error":0},"keyphraseInSubHeadings":{"title":"Focus Keyphrase in Subheadings","description":"Use your focus keyphrase more in your H2 and H3 subheadings.","score":3,"maxScore":9,"error":1},"keyphraseLength":{"title":"Focus keyphrase length","description":"Good job!","score":9,"maxScore":9,"error":0,"length":3},"keyphraseInImageAlt":{"title":"Focus keyphrase in image alt attributes","description":"Focus keyphrase not found in image alt attribute(s). Add an image with your Focus keyphrase as alt text.","score":3,"maxScore":9,"error":1}}},"additional":[]},"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":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"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":"default","schema_type_options":"{\"article\":{\"articleType\":\"BlogPosting\"},\"course\":{\"name\":\"\",\"description\":\"\",\"provider\":\"\"},\"faq\":{\"pages\":[]},\"product\":{\"reviews\":[]},\"recipe\":{\"ingredients\":[],\"instructions\":[],\"keywords\":[]},\"software\":{\"reviews\":[],\"operatingSystems\":[]},\"webPage\":{\"webPageType\":\"WebPage\"}}","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":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":{"locations":{"business":{"name":"","businessType":"","image":"","areaServed":"","urls":{"website":"","aboutPage":"","contactPage":""},"address":{"streetLine1":"","streetLine2":"","zipCode":"","city":"","state":"","country":"","addressFormat":"#streetLineOne\n#streetLineTwo\n#city, #state #zipCode"},"contact":{"email":"","phone":"","phoneFormatted":"","fax":"","faxFormatted":""},"ids":{"vat":"","tax":"","chamberOfCommerce":""},"payment":{"priceRange":"","currenciesAccepted":"","methods":""}}},"openingHours":{"useDefaults":true,"show":true,"alwaysOpen":false,"use24hFormat":false,"timezone":"","labels":{"closed":"","alwaysOpen":""},"days":{"monday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"tuesday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"wednesday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"thursday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"friday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"saturday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"},"sunday":{"open24h":false,"closed":false,"openTime":"09:00","closeTime":"17:00"}}}},"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-07-06 13:11:37","updated":"2025-06-04 17:33:52","seo_analyzer_scan_date":null,"focus_keyword":"Azure Image Builder","additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/aidanfinn.com\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/aidanfinn.com\/?cat=1\" title=\"Uncategorized\">Uncategorized<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tUnderstanding the Azure Image Builder Resources\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/aidanfinn.com"},{"label":"Uncategorized","link":"https:\/\/aidanfinn.com\/?cat=1"},{"label":"Understanding the Azure Image Builder Resources","link":"https:\/\/aidanfinn.com\/?p=22331"}],"amp_enabled":true,"jetpack_featured_media_url":"https:\/\/aidanfinn.com\/wp-content\/uploads\/2016\/08\/Capture.png","_links":{"self":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/22331","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22331"}],"version-history":[{"count":16,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/22331\/revisions"}],"predecessor-version":[{"id":22352,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/22331\/revisions\/22352"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/media\/19832"}],"wp:attachment":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22331"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22331"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22331"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}