Sign in

A blog focused on all things Cloud and DevOps. Specialising in Azure & Terraform!

In this post, I’ll dive into variable validation in Terraform, why you should do it, and show lots of useful examples!

Why validate your variables?

Although the syntax and configuration of your Terraform may be valid, the variables passed into your configuration may not be valid. …

To run an Azure DevOps pipeline on a schedule you can use a ‘scheduled trigger’ in your pipeline YAML definition, or specify it in the Azure DevOps portal.

Azure DevOps Pipelines

The schedules block would look something like this:

NOTE: the pr: none and trigger: none must be set to use scheduled…

Streamline your terraform code!

To manage similar objects in Terraform without writing a separate resource block for each one, you can use either the count or for_eachmeta-arguments.

In this post, I’ll show how to use the for_each meta-argument with an example showing how to create an Azure Event Hub namespace, Event hub and Access…

Automate Everything!


The Azure portal only allows one resource to be exported at a time to an ARM template, and currently, you cannot directly export Bicep templates at all through the portal. …

Things you should know to pass the exam!

I recently achieved the ‘Identity and Access Administrator Associate’ Microsoft certification. To get the badge, you will need to pass just one exam, SC-300.

Identity and Access Administrator SC-300 Badge

Information on the exam can be found here:

General topics to know well to pass SC-300

Things that came up in my exam heavily were:

  • User and group inheritance, security and M365
  • License assignment…

Bulk download your Runbooks!

Azure Runbooks live inside of an Azure Automation account. Unfortunately, there is no way in the Azure portal to export all the Runbooks from the automation account in one hit.

When you have a lot of Runbooks, it becomes unreasonable to manually export each one through the portal. Maybe you…

A beginner's guide to using the Azure REST API.

You can use the Azure REST API to interact with Azure programmatically.

Azure REST API Reference Documentation

The easiest way to get started is to browse the reference pages, navigate to your desired service, and hit the ‘Try it’ button. This will prompt you to log in and fill out the required parameters. The authentication…

When trying to deploy a Packer image using an Azure DevOps pipeline, you’ll need to amend the configuration slightly to accommodate the location of your PowerShell scripts.

When run locally, Packer will be able to access everything in the local directory, relative to the Packer configuration file. No problem! A…

Azure has a native Image builder service available. This is actually based on the technology from HashiCorp Packer. The big drawback for me with using Azure image builder is that you still have to use JSON configuration language.

As of Packer v1.5 you can use HCL (Hashicorp configuration language), instead…

Jack Roper

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store