Deploying to AWS Elastic Beanstalk from Visual Studio Team Services

When I set this site up in Elastic Beanstalk in AWS, I was initially using CodeCommit and CodePipeline to manage releases. CodePipeline was super easy to pick up and use as a way to get started. I did want an excuse to get around some of the PowerShell cmdlets for managing AWS though. I came up with the idea of using Visual Studio Team Services for my build and releases. It was an excellent way for me to test out some PowerShell! Continue reading “Deploying to AWS Elastic Beanstalk from Visual Studio Team Services”

Yo arm-template! Generating ARM templates with Yeoman

A common piece of feedback I get from people who author ARM templates is that the design experience isn’t as great as it could be. There is some tooling in the full version of Visual Studio which helps get you started. But a lot of people don’t install Visual Studio as it seems overkill. After all, it’s just managing the text files that make up your typical ARM file based project. That got me thinking that surely there should be an easier way, and then the idea hit me! I set off to make a set of Yeoman generators for ARM resources. I think what I’ve come up with here will be super useful to a lot of people. Continue reading “Yo arm-template! Generating ARM templates with Yeoman”

“The provided value for the template parameter is not valid” in ARM template deployments

I’ve come across this one before, but I hit it again today and I wanted to share the details of what happened. Basically the scenario is this, I have an ARM template that I want to deploy and it takes in parameters. The deployment needs to run through PowerShell using the Azure RM PowerShell cmdlets. When I call New-AzureRmResourceGroupDeployment I get the error that says “The provided value for the template parameter is {parameter name} not valid”, and this is where things start getting weird. Continue reading ““The provided value for the template parameter is not valid” in ARM template deployments”

Getting IDs to use with the Package DSC resource

One of the questions I get from customers who are looking at using the Package DSC resource to install MSI’s and executables is “What is the ProductID for the installer I want to run?”. If you look at the documentation the ProductID is meant to be a unique identified for the product you are installing, but how can you figure out what the correct value for any given installation is? Lucky for us you can actually use a little bit of PowerShell to look this up after you manually install the product once. Let me give you an example, I recently had to write a DSC script which would install SQL Server Management Studio 17.1 with DSC, so here is the approach I took. Continue reading “Getting IDs to use with the Package DSC resource”

Running Azure Automation runbooks from IFTTT tasks

I recently had an idea (ok lets call it ‘collaboratively came up with while talking to one of the grads in our office) to look at ways that I could trigger runbooks in my Azure Automation account from my phone. The specific issue we were looking to solve in this case was “how can I easily shut down all the VMs in my subscription from my phone if I forget to turn them off”. Now I already have a runbook that was scheduled to shut down the VMs every night at 11pm as a ‘just in case’ but surely there was a better way if I remembered before than to rely on that automation schedule. After a little bit of thought, the idea of create a “do button” from IFTTT (stands for “if this then that”, great little automation site that I recommend you check out if you haven’t used it already) seemed to be the perfect solution for me. So here’s a run through of the solution from start to end. Continue reading “Running Azure Automation runbooks from IFTTT tasks”