Help
RSS
API
Feed
Maltego
Contact
Domain > www.azure-terraformer.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-01-30
20.209.226.132
(
ClassC
)
2025-12-09
20.3.34.31
(
ClassC
)
Port 443
HTTP/1.1 200 OKContent-Length: 37922Content-Type: text/htmlDate: Tue, 09 Dec 2025 07:15:03 GMTCache-Control: public, must-revalidate, max-age30ETag: 80116094Last-Modified: Tue, 05 Aug 2025 01:19:22 GMTStrict-Transport-Security: max-age10886400; includeSubDomains; preloadReferrer-Policy: same-originX-Content-Type-Options: nosniffX-XSS-Protection: 1; modeblockX-DNS-Prefetch-Control: off !DOCTYPE html>html langen>head>meta http-equivContent-Type contenttext/html; charsetUTF-8> meta charsetutf-8> meta http-equivX-UA-Compatible contentIEedge> meta nameviewport contentwidthdevice-width, initial-scale1> meta namegoogle-translate-customization content108d9124921d80c3-80e20d618ff053c8-g4f02ec6f3dba68b7-c>!-- Begin Jekyll SEO tag v2.8.0 -->title>Azure Terraformer | The Azure Terraformer is a community for developers and engineers focused on automating Azure with Terraform. It’s a space to collaborate, share insights, and stay updated on best practices for infrastructure-as-code on Azure. Whether you’re a beginner or an expert, this community helps you bring your Azure solutions to life efficiently and consistently./title>meta namegenerator contentJekyll v3.9.5>meta propertyog:title contentAzure Terraformer>meta propertyog:locale contenten_US>meta namedescription contentThe Azure Terraformer is a community for developers and engineers focused on automating Azure with Terraform. It’s a space to collaborate, share insights, and stay updated on best practices for infrastructure-as-code on Azure. Whether you’re a beginner or an expert, this community helps you bring your Azure solutions to life efficiently and consistently.>meta propertyog:description contentThe Azure Terraformer is a community for developers and engineers focused on automating Azure with Terraform. It’s a space to collaborate, share insights, and stay updated on best practices for infrastructure-as-code on Azure. Whether you’re a beginner or an expert, this community helps you bring your Azure solutions to life efficiently and consistently.>link relcanonical hrefhttp://www.azure-terraformer.com/>meta propertyog:url contenthttp://www.azure-terraformer.com/>meta propertyog:site_name contentAzure Terraformer>meta propertyog:type contentwebsite>meta nametwitter:card contentsummary>meta propertytwitter:title contentAzure Terraformer>script typeapplication/ld+json>{@context:https://schema.org,@type:WebSite,description:The Azure Terraformer is a community for developers and engineers focused on automating Azure with Terraform. It’s a space to collaborate, share insights, and stay updated on best practices for infrastructure-as-code on Azure. Whether you’re a beginner or an expert, this community helps you bring your Azure solutions to life efficiently and consistently.,headline:Azure Terraformer,name:Azure Terraformer,url:http://www.azure-terraformer.com/}/script>!-- End Jekyll SEO tag -->link relicon href> link relstylesheet hrefhttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css> link relstylesheet hrefhttps://cdn.jsdelivr.net/npm/typeface-noto-sans@0.0.72/index.min.css> link relstylesheet href/assets/css/main.css> script src/assets/js/main.js>/script>link typeapplication/atom+xml relalternate hrefhttp://www.azure-terraformer.com/feed.xml titleAzure Terraformer>!-- Google tag (gtag.js) -->script> function initGoogleAnalytics() { var doNotTrack (window.doNotTrack 1 || navigator.doNotTrack 1 || navigator.doNotTrack yes || navigator.msDoNotTrack 1); var enableDNT false true; if (!enableDNT || !doNotTrack) { var measurementId G-MKH2J0Y4E9; (function(src) { var tag document.createElement(script); tag.src src; tag.async true; var firstScriptTag document.getElementsByTagName(script)0; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); })(https://www.googletagmanager.com/gtag/js?id + measurementId); window.dataLayer window.dataLayer || ; function gtag(){dataLayer.push(arguments);} gtag(js, new Date()); gtag(config, measurementId); } } window.addEventListener(load, initGoogleAnalytics);/script>link relstylesheet href//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/styles/default.min.css>script src//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/highlight.min.js>/script>!-- and its easy to individually load additional languages -->script charsetUTF-8 srchttps://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/languages/go.min.js>/script>script>// Init highlight jsdocument.addEventListener(DOMContentLoaded, function(event) { var els document.querySelectorAll(pre code) function addLangData(block) { var outer block.parentElement.parentElement.parentElement; var lang block.getAttribute(data-lang); for (var i 0; i outer.classList.length; i++) { var cls outer.classListi; if (cls.startsWith(language-)) { lang cls; break; } } if (!lang) { cls block.getAttribute(class); lang cls ? cls.replace(hljs , ) : ; } if (lang.startsWith(language-)) { lang lang.substr(9); } block.setAttribute(class, hljs + lang); block.parentNode.setAttribute(data-lang, lang); } function addBadge(block) { var enabled (true || true).toLowerCase(); if (enabled true) { var pre block.parentElement; pre.classList.add(badge); } } function handle(block) { addLangData(block); addBadge(block) hljs.highlightBlock(block); } for (var i 0; i els.length; i++) { var el elsi; handle(el); }});/script>style> /* code language badge */ pre.badge::before { content: attr(data-lang); color: #fff; background-color: #ff4e00; padding: 0 .5em; border-radius: 0 2px; text-transform: uppercase; text-align: center; min-width: 32px; display: inline-block; position: absolute; right: 0; } /* fix wrong badge display for firefox browser */ code > table pre::before { display: none; }/style>script src//cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/photoswipe.min.js>/script>script src//cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/photoswipe-ui-default.min.js>/script>link hrefhttps://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/photoswipe.css relstylesheet>link hrefhttps://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/default-skin/default-skin.css relstylesheet>style> .pswp .pswp__container .pswp__img { background-color: white; }/style>script> function initPhotoSwipe() { var mainEl document.querySelector(section.main); var imgEls mainEl.querySelectorAll(img:not(.emoji)); imgEls.forEach((imgEl) > { imgEl.outerHTML ` a classphoto-swipe href${imgEl.src} data-width${imgEl.getAttribute(width) || imgEl.width * 2} data-height${imgEl.getAttribute(height) || imgEl.height * 2} data-caption${imgEl.getAttribute(caption) || imgEl.alt} target_blank> ${imgEl.outerHTML} /a>`; }); // Init empty gallery array var container ; // Loop over gallery items and push it to the array var linkEls mainEl.querySelectorAll(a.photo-swipe); linkEls.forEach((link) > { var item { src: link.getAttribute(href), w: link.dataset.width, h: link.dataset.height, title: link.dataset.caption || , }; container.push(item); }); // Define click event on gallery item linkEls.forEach((link, index) > { link.addEventListener(click, (event) > { // Prevent location change event.preventDefault(); // Define object and gallery options var pswp document.querySelector(.pswp); var zoomLevel 1; // Define object and gallery options var options { index: index, bgOpacity: 0.85, showHideOpacity: true, closeOnScroll: true, maxSpreadZoom: 1, getDoubleTapZoom: (isMouseClick, item) > { if (item.detail) { zoomLevel + item.detail.origEvent.shiftKey ? -1 : 1; item.detail undefined; } else { zoomLevel zoomLevel 1 ? 2 : 1; } if (zoomLevel 1) { zoomLevel 1; setTimeout(() > pswp.classList.remove(pswp--zoomed-in), 0); } return item.initialZoomLevel * zoomLevel; }, }; // Initialize PhotoSwipe var gallery new PhotoSwipe( pswp, PhotoSwipeUI_Default, container, options ); gallery.init(); // Custom zoom event gallery.container.addEventListener(pswpTap, (e) > { gallery.currItem.detail e.detail; }); }); }); } window.addEventListener(load, initPhotoSwipe);/script>!-- Root element of PhotoSwipe. Must have class pswp. -->/head>body>div classpswp tabindex-1 roledialog aria-hiddentrue> !-- Background of PhotoSwipe. Its a separate element as animating opacity is faster than rgba(). --> div classpswp__bg>/div> !-- Slides wrapper with overflow:hidden. --> div classpswp__scroll-wrap> !-- Container that holds slides. PhotoSwipe keeps only 3 of them in the DOM to save memory. Dont modify these 3 pswp__item elements, data is added later on. --> div classpswp__container> div classpswp__item>/div> div classpswp__item>/div> div classpswp__item>/div> /div> !-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --> div classpswp__ui pswp__ui--hidden> div classpswp__top-bar> !-- Controls are self-explanatory. Order can be changed. --> div classpswp__counter>/div> button classpswp__button pswp__button--close titleClose (Esc)>/button> button classpswp__button pswp__button--share titleShare>/button> button classpswp__button pswp__button--fs titleToggle fullscreen>/button> button classpswp__button pswp__button--zoom titleZoom in/out>/button> !-- element will get class pswp__preloader--active when preloader is running --> div classpswp__preloader> div classpswp__preloader__icn> div classpswp__preloader__cut> div classpswp__preloader__donut>/div> /div> /div> /div> /div> div classpswp__share-modal pswp__share-modal--hidden pswp__single-tap> div classpswp__share-tooltip>/div> /div> button classpswp__button pswp__button--arrow--left titlePrevious (arrow left)>/button> button classpswp__button pswp__button--arrow--right titleNext (arrow right)>/button> div classpswp__caption> div classpswp__caption__center>/div> /div> /div> /div>/div>header classsite-header site-header-transparent rolebanner> div classwrapper> div classsite-header-inner>span classsite-brand>a classsite-brand-inner relauthor href/> img classsite-favicon titleAzure Terraformer src onerrorthis.style.displaynone> Azure Terraformer/a>/span>nav classsite-nav> input typecheckbox idnav-trigger classnav-trigger> label fornav-trigger> span classmenu-icon> svg viewbox0 0 18 15 width18px height15px> path dM18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z>/path> /svg> /span> /label> div classtrigger>a classpage-link href/archives.html>ARCHIVES/a>a classpage-link href/categories.html>CATEGORIES/a>a classpage-link href/tags.html>TAGS/a>a classpage-link href/courses.html>COURSES/a>a classpage-link href/about/>ABOUT/a>a classpage-link href/community/>COMMUNITY/a>/div> /nav>/div> /div>/header>script> function initHeader() { var lastScrollY getScrollPos().y; var documentElement document.documentElement; function storeScrollData() { var y getScrollPos().y;documentElement.setAttribute(data-header-transparent, );var scrollStatus ; if (y 0) { scrollStatus top; } else if ((window.innerHeight + y) > document.body.offsetHeight) { scrollStatus bottom; } else { var isScrollDown (y - lastScrollY > 0) ? true : false; scrollStatus isScrollDown ? down : up; } lastScrollY y; documentElement.setAttribute(data-scroll-status, scrollStatus); } window.addEventListener(scroll, function(e) { storeScrollData(); }); storeScrollData(); } document.addEventListener(DOMContentLoaded, initHeader);/script>section classpage-banner> div classpage-banner-img>div stylebackground-image: url(/assets/images/banners/index.jpg)>/div> img classimg-placeholder src/assets/images/banners/index.jpg>/div> div classwrapper> div classpage-banner-inner>div classpage-banner-default> h1 classpage-banner-heading> Azure Terraformer /h1> h2 classpage-banner-subheading> At the intersection of cloud and automation on Azure. /h2> /div>/div> /div> /section>script> function hashLocate(hashValue) { hashValue hashValue.replace(/^.*#h-/, ); hashValue decodeURIComponent(hashValue); var element document.getElementById(hashValue); if (!element) { return; } var header document.querySelector(header.site-header); var headerRect header.getBoundingClientRect(); var headerTop Math.floor(headerRect.top); var headerHeight Math.floor(headerRect.height); var scrollPos getScrollPos(); var offsetY element.offsetTop - (headerTop + headerHeight + 20); if (offsetY scrollPos.y) { return; } if (headerTop 0 && offsetY > scrollPos.y) { offsetY + headerHeight + 2; } else if (headerTop 0 && offsetY scrollPos.y) { offsetY - headerHeight - 2; } smoothScrollTo(offsetY); } // The first event occurred window.addEventListener(load, function(event) { if (window.location.hash) { hashLocate(window.location.hash); } }); // The first event occurred window.addEventListener(click, function(event) { if (event.target.tagName.toLowerCase() a) { hashLocate(event.target.getAttribute(href)); } });/script>div classtheme-toggle> input typecheckbox idtheme-switch> label fortheme-switch> div classtoggle>/div> div classnames> p classlight>Light/p> p classdark>Dark/p> /div> /label>/div>script> (function() { var sw document.getElementById(theme-switch); var html document.getElementsByTagName(html)0; var nightModeOption (auto || auto).toLowerCase(); var storage nightModeOption manual ? localStorage : sessionStorage; var themeData loadThemeData(); function saveThemeData(data) { storage.setItem(theme, JSON.stringify(data)); } function loadThemeData() { var data storage.getItem(theme); try { data JSON.parse(data ? data : ); } catch(e) { data { nightShift: undefined, autoToggleAt: 0 }; saveThemeData(data); } return data; } function handleThemeToggle(nightShift) { themeData.nightShift nightShift; saveThemeData(themeData); html.dataset.theme nightShift ? dark : light; setTimeout(function() { sw.checked nightShift ? true : false; }, 50); } function autoThemeToggle() { // Next time point of theme toggle var now new Date(); var toggleAt new Date(); var hours now.getHours(); var nightShift hours > 19 || hours 7; if (nightShift) { if (hours > 7) { toggleAt.setDate(toggleAt.getDate() + 1); } toggleAt.setHours(7); } else { toggleAt.setHours(19); } toggleAt.setMinutes(0); toggleAt.setSeconds(0); toggleAt.setMilliseconds(0) var delay toggleAt.getTime() - now.getTime(); // auto toggle theme mode setTimeout(function() { handleThemeToggle(!nightShift); }, delay); return { nightShift: nightShift, toggleAt: toggleAt.getTime() }; } // Listen the theme toggle event sw.addEventListener(change, function(event) { handleThemeToggle(event.target.checked); }); if (nightModeOption auto) { var data autoThemeToggle(); // Toggle theme by local setting if (data.toggleAt > themeData.autoToggleAt) { themeData.autoToggleAt data.toggleAt; handleThemeToggle(data.nightShift); } else { handleThemeToggle(themeData.nightShift); } } else if (nightModeOption manual) { handleThemeToggle(themeData.nightShift); } else { var nightShift themeData.nightShift; if (nightShift undefined) { nightShift nightModeOption on; } handleThemeToggle(nightShift); } })();/script>div idclick-to-top classclick-to-top> i classfa fa-arrow-up>/i>/div>script> (function () { const clickToTop document.getElementById(click-to-top); window.addEventListener(scroll, () > { if (window.scrollY > 100) { clickToTop.classList.add(show) }else { clickToTop.classList.remove(show) } }); clickToTop.addEventListener(click, () > { window.smoothScrollTo(0); }); })();/script>main classpage-content aria-labelContent> div classwrapper> div classframework> section classmain> div classarticles> div classpagination> !-- Post list links --> ul classpost-list>li> h2 classpost-title> a classpost-link href/episode/2025/03/22/jfk-openai.html> Building a JFK Assassination File Chatbot with Azure OpenAI and Document Intelligence /a> /h2> div classpost-meta> span classpost-date>i classfa fa-calendar>/i> Mar 22, 2025/span> span classpost-reading-time left-vsplit>i classfa fa-clock-o>/i> About 6 mins/span> /div> a classpost-excerpt href/episode/2025/03/22/jfk-openai.html> p> Introduction: A Massive Document Dump Meets Modern AIOn March 18, 2025, the U.S. government released over 2,000 documents related to the assassination of President John F. Kennedy. Curious to explore the potential of Azure OpenAI services, I decided to ingest this massive dataset and build an intelligent chat interface capable of answering que... span classread_more>Read More/span> /p> /a> div classpost-tags>a classpost-tag href/tags.html#Azure>#Azure/a>a classpost-tag href/tags.html#Open%20AI>#Open AI/a>a classpost-tag href/tags.html#AI>#AI/a>/div> /li>li> h2 classpost-title> a classpost-link href/episode/members%20update/2025/03/13/members-update.html> Big Changes, Bold Plans, and a Wild Journey /a> /h2> div classpost-meta> span classpost-date>i classfa fa-calendar>/i> Mar 13, 2025/span> span classpost-reading-time left-vsplit>i classfa fa-clock-o>/i> About 6 mins/span> /div> a classpost-excerpt href/episode/members%20update/2025/03/13/members-update.html> p> It’s been a while since my last members-only update, and I wanted to take a moment to share what’s been happening in my world. These updates are meant to be informal, like we’re just sitting down and having a conversation. There’s been a lot going on — both personally and professionally — so let’s dive in.A Journey Around the WorldI just got... span classread_more>Read More/span> /p> /a> div classpost-tags>/div> /li>li> h2 classpost-title> a classpost-link href/episode/azure/2025/03/12/azure-client-tools.html> Azure Client Tools Architecture: A Practical Guide to Choosing the Right Tool for Managing Azure /a> /h2> div classpost-meta> span classpost-date>i classfa fa-calendar>/i> Mar 12, 2025/span> span classpost-reading-time left-vsplit>i classfa fa-clock-o>/i> About 5 mins/span> /div> a classpost-excerpt href/episode/azure/2025/03/12/azure-client-tools.html> p> Azure provides multiple ways to interact with and provision resources, each designed to suit different workflows and preferences. Whether through graphical interfaces, command-line tools, or declarative infrastructure-as-code (IaC) frameworks, the goal remains the same: enabling users to define and deploy cloud resources efficiently.Recently, ... span classread_more>Read More/span> /p> /a> div classpost-tags>/div> /li>li> h2 classpost-title> a classpost-link href/episode/code%20review/terraform/2024/11/13/code-review.html> Encapsulating Logic and Extracting Iterations for Scalable Module Design /a> /h2> div classpost-meta> span classpost-date>i classfa fa-calendar>/i> Nov 13, 2024/span> span classpost-reading-time left-vsplit>i classfa fa-clock-o>/i> About 6 mins/span> /div> a classpost-excerpt href/episode/code%20review/terraform/2024/11/13/code-review.html> p> Today, we’re diving into another fascinating code review, this time focusing on a pull request submitted by one of our long-time channel members. This pull request explores integrating Azure AD, ahem Entra ID, Privileged Identity Management (PIM) into Terraform modules, aiming to create PIM groups and role assignments dynamically. Let’s dig into... span classread_more>Read More/span> /p> /a> div classpost-tags>a classpost-tag href/tags.html#azuread>#azuread/a>a classpost-tag href/tags.html#RBAC>#RBAC/a>/div> /li>li> h2 classpost-title> a classpost-link href/episode/code%20review/terraform/2024/11/08/code-review.html> Optimizing Terraform Code for Readability and Maintainability /a> /h2> div classpost-meta> span classpost-date>i classfa fa-calendar>/i> Nov 8, 2024/span> span classpost-reading-time left-vsplit>i classfa fa-clock-o>/i> About 3 mins/span> /div> a classpost-excerpt href/episode/code%20review/terraform/2024/11/08/code-review.html> p> IntroductionWelcome back to the Azure Terraformer! Today, we’re diving into a critical aspect of infrastructure-as-code (IaC): writing Terraform code that prioritizes readability and maintainability over technical elegance. Unlike traditional application development, where clever code can be a badge of honor, IaC demands simplicity and clarity... span classread_more>Read More/span> /p> /a> div classpost-tags>a classpost-tag href/tags.html#azurerm>#azurerm/a>a classpost-tag href/tags.html#RBAC>#RBAC/a>/div> /li>li> h2 classpost-title> a classpost-link href/episode/azure/terraform/2024/04/18/beyond-azurerm.html> Terraforming Azure: Boldly going beyond AzureRM /a> /h2> div classpost-meta> span classpost-date>i classfa fa-calendar>/i> Apr 18, 2024/span> span classpost-reading-time left-vsplit>i classfa fa-clock-o>/i> About 5 mins/span> /div> a classpost-excerpt href/episode/azure/terraform/2024/04/18/beyond-azurerm.html> p> In the ever-expanding universe of infrastructure as code, Terraform has become a starship of choice for cloud engineers. And when navigating Microsoft Azure, the journey often begins with the familiar — the azurerm provider. But what lies beyond that home planet? What other Terraform providers orbit Azure, enabling rich, interconnected, and some... span classread_more>Read More/span> /p> /a> div classpost-tags>/div> /li>li> h2 classpost-title> a classpost-link href/azure/terraform/2024/04/04/intermediate-azure-terraformers.html> Advice for the Intermediate Azure Terraformer /a> /h2> div classpost-meta> span classpost-date>i classfa fa-calendar>/i> Apr 4, 2024/span> span classpost-reading-time left-vsplit>i classfa fa-clock-o>/i> About 5 mins/span> /div> a classpost-excerpt href/azure/terraform/2024/04/04/intermediate-azure-terraformers.html> p> If you’ve been using Terraform for a few years and would rank yourself as intermediate, you’re probably finding that the foundational concepts are well behind you — but the landscape keeps evolving. With new tools, patterns, and best practices emerging all the time, it’s easy to feel like your knowledge could use a refresh.This came up in a re... span classread_more>Read More/span> /p> /a> div classpost-tags>/div> /li>li> h2 classpost-title> a classpost-link href/episode/azure/terraform/2024/03/27/five-mistakes.html> Five Azure Automation Mistakes I’ve Made (So You Don’t Have To) /a> /h2> div classpost-meta> span classpost-date>i classfa fa-calendar>/i> Mar 27, 2024/span> span classpost-reading-time left-vsplit>i classfa fa-clock-o>/i> About 6 mins/span> /div> a classpost-excerpt href/episode/azure/terraform/2024/03/27/five-mistakes.html> p> Over the years, working with Azure and various other cloud providers, I’ve seen — and made — my fair share of automation mistakes. These weren’t theoretical slip-ups. They were real-world, forehead-smacking, “well, I won’t do that again” kinds of experiences. I’ve had the privilege (and sometimes the pain) of learning lessons the hard way, and i... span classread_more>Read More/span> /p> /a> div classpost-tags>/div> /li>li> h2 classpost-title> a classpost-link href/episode/massive%20roughness/terraform/2023/02/14/episode005.html> Episode #5: Securing Azure Virtual Machines with Bastion /a> /h2> div classpost-meta> span classpost-date>i classfa fa-calendar>/i> Feb 14, 2023/span> span classpost-reading-time left-vsplit>i classfa fa-clock-o>/i> About 4 mins/span> /div> a classpost-excerpt href/episode/massive%20roughness/terraform/2023/02/14/episode005.html> p> In the previous episode of Azure Terraformer, we demonstrated how to provision an Azure Linux Virtual Machine (VM) with a public IP and SSH access secured through an Azure Key Vault-stored public key. While functional, exposing a VM with a public IP presents security risks. In fifth episode, we refine that setup by removing the public IP and int... span classread_more>Read More/span> /p> /a> div classpost-tags>a classpost-tag href/tags.html#azurerm>#azurerm/a>a classpost-tag href/tags.html#Networking>#Networking/a>a classpost-tag href/tags.html#Security>#Security/a>/div> /li>li> h2 classpost-title> a classpost-link href/episode/massive%20roughness/terraform/2023/02/09/episode004.html> Episode #4: Building your first Azure Linux Virtual Machine with Terraform: A Step-by-Step Guide /a> /h2> div classpost-meta> span classpost-date>i classfa fa-calendar>/i> Feb 9, 2023/span> span classpost-reading-time left-vsplit>i classfa fa-clock-o>/i> About 9 mins/span> /div> a classpost-excerpt href/episode/massive%20roughness/terraform/2023/02/09/episode004.html> p> Welcome to the fourth episode of Azure Terraformer, where we dive deep into using Terraform on Azure to set up powerful, scalable cloud solutions. Today, we’ll demonstrate how to provision an Azure Linux Virtual Machine (VM) with associated resources like a Resource Group, Public IP, Network Interface, and subnet, while also fetching a public SS... span classread_more>Read More/span> /p> /a> div classpost-tags>a classpost-tag href/tags.html#azurerm>#azurerm/a>a classpost-tag href/tags.html#KeyVault>#KeyVault/a>a classpost-tag href/tags.html#Networking>#Networking/a>a classpost-tag href/tags.html#Security>#Security/a>/div> /li>li> h2 classpost-title> a classpost-link href/episode/massive%20roughness/terraform/2023/02/07/episode003.html> Episode #3: Setting Up an Azure Key Vault with Observability Using Terraform’s Azurerm Provider /a> /h2> div classpost-meta> span classpost-date>i classfa fa-calendar>/i> Feb 7, 2023/span> span classpost-reading-time left-vsplit>i classfa fa-clock-o>/i> About 6 mins/span> /div> a classpost-excerpt href/episode/massive%20roughness/terraform/2023/02/07/episode003.html> p> YouTube VideoSource CodeWelcome to the third episode of Azure Terraformer, where we dive deep into using Terraform on Azure to set up powerful, scalable cloud solutions. Today, we’ll be setting up a basic secrets management with Azure Keyvault. Creating and managing an Azure Key Vault with Terraform is both straightforward and flexible, esp... span classread_more>Read More/span> /p> /a> div classpost-tags>a classpost-tag href/tags.html#azurerm>#azurerm/a>a classpost-tag href/tags.html#KeyVault>#KeyVault/a>a classpost-tag href/tags.html#Azure%20Monitor>#Azure Monitor/a>/div> /li>li> h2 classpost-title> a classpost-link href/episode/massive%20roughness/terraform/2023/02/02/episode002.html> Episode #2: Building a Dynamic Virtual Network with Terraform’s azurerm Provider /a> /h2> div classpost-meta> span classpost-date>i classfa fa-calendar>/i> Feb 2, 2023/span> span classpost-reading-time left-vsplit>i classfa fa-clock-o>/i> About 7 mins/span> /div> a classpost-excerpt href/episode/massive%20roughness/terraform/2023/02/02/episode002.html> p> YouTube VideoSource CodeWelcome to the second episode of Azure Terraformer, where we dive deep into using Terraform on Azure to set up powerful, scalable cloud solutions. Today, we’ll be setting up a software-defined network with the Azure Terraform provider. Which can be surprisingly straightforward, offering a balance of flexibility and c... span classread_more>Read More/span> /p> /a> div classpost-tags>a classpost-tag href/tags.html#azurerm>#azurerm/a>a classpost-tag href/tags.html#Networking>#Networking/a>/div> /li>li> h2 classpost-title> a classpost-link href/episode/massive%20roughness/terraform/2023/01/31/episode001.html> Episode #1: Setting Up Azure Observability with Log Analytics and Azure Storage /a> /h2> div classpost-meta> span classpost-date>i classfa fa-calendar>/i> Jan 31, 2023/span> span classpost-reading-time left-vsplit>i classfa fa-clock-o>/i> About 6 mins/span> /div> a classpost-excerpt href/episode/massive%20roughness/terraform/2023/01/31/episode001.html> p> YouTube VideoSource CodeWelcome to the first episode of Azure Terraformer, where we dive deep into using Terraform on Azure to set up powerful, scalable cloud solutions. Today, we’ll be setting up a basic Azure observability stack using Log Analytics and Azure Storage to store and monitor your activity logs efficiently. This setup is founda... span classread_more>Read More/span> /p> /a> div classpost-tags>a classpost-tag href/tags.html#azurerm>#azurerm/a>a classpost-tag href/tags.html#Azure%20Monitor>#Azure Monitor/a>a classpost-tag href/tags.html#Log%20Analytics>#Log Analytics/a>a classpost-tag href/tags.html#Azure%20Storage>#Azure Storage/a>/div> /li>li> h2 classpost-title> a classpost-link href/announcements/2023/01/30/welcome-azure-terraformers.html> Welcome, Azure Terraformers! /a> /h2> div classpost-meta> span classpost-date>i classfa fa-calendar>/i> Jan 30, 2023/span> span classpost-reading-time left-vsplit>i classfa fa-clock-o>/i> About 1 min/span> /div> a classpost-excerpt href/announcements/2023/01/30/welcome-azure-terraformers.html> p> Announcing the launch of “Azure Terraformer”, a YouTube channel dedicated to helping developers and platform engineers harness the power of Terraform to automate Microsoft Azure.I’m starting this channel because I feel like the Azure community has been a bit left behind by some of those “other” clouds. If you throw a rock at a group of Terrafo... span classread_more>Read More/span> /p> /a> div classpost-tags>/div> /li>/ul> !-- Pagination links -->/div>/div> /section> section classsidebar stylemargin-left: 15px;> !-- Get sidebar items -->div classcommon-list> ul> li> a href/index.html> Allspan>14/span> /a> /li> li> a href/categories.html#h-Announcements> Announcements span>1/span> /a> /li> li> a href/categories.html#h-Azure> Azure span>4/span> /a> /li> li> a href/categories.html#h-Code%20Review> Code Review span>2/span> /a> /li> li> a href/categories.html#h-Episode> Episode span>12/span> /a> /li> li> a href/categories.html#h-Massive%20Roughness> Massive Roughness span>5/span> /a> /li> li> a href/categories.html#h-Members%20Update> Members Update span>1/span> /a> /li> li> a href/categories.html#h-Terraform> Terraform span>10/span> /a> /li> /ul>/div>/section>/div> /div> /main>footer classsite-footer h-card> data classu-url href/>/data> div classwrapper> div classsite-footer-inner>div>/div> div>Powered by a titleJekyll is a simple, blog-aware, static site generator. hrefhttps://jekyllrb.com/>Jekyll/a> & a titleYat, yet another theme. hrefhttps://github.com/jeffreytse/jekyll-theme-yat>Yat Theme/a>./div> div classfooter-col rss-subscribe>Subscribe a href/feed.xml>via RSS/a>/div> /div> /div>/footer>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]