Challenge Overview
CHALLENGE OVERVIEW
John Hancock uses Azure a lot. They need better tools for predicting hosting costs across different business units. Currently a team called GIS makes a list of resource usage every 60 days and maps each resource to the cost center. 60 days is way too long to go not knowing your usage. The purpose of this project is to make this much easier for them.
In this challenge, we are going to implement a tool or script which takes the current GIS output and updates each resource in Azure with tags for the cost center (and maybe a couple other tags). We will use the Azure Resource Manager (ARM) API for this. This is expected to be a one time use tool.
Here are the detailed requirements:
1. The tool will read each row from the “GIS Sample Data” spreadsheet, pull the values from the "Charged Cost Center" column and apply the cost center tag using "CostCenter" as tag name and values from "Charged Cost Center" column as value. Note this may reproduce the existing "CostCenter" tag if that already exists on the resource.
2. The tool should print the progress to the console.
3. The tool should handle errors gracefully (i.e. it should skip rows that fail instead of terminating the process), and generate a report of failed records on task completion.
4. There’s no restriction on programming language but it must be easy to run the tool / script on Windows
5. You need to provide a detailed guide on how to setup test resources, create input spreadsheet and configure / run / verify the implementation. We’ll provide a sample input spreadsheet for your reference but of course you’ll need to create your own file based on the resources you have in your account.
TECHNOLOGIES
Azure Resource Manager API
No restriction on programming language
Final Submission Guidelines
Full code that covers all the requirements���A deployment guide describing how to configure and test the code, including verification details.