Register
Submit a solution
The challenge is finished.

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.

ELIGIBLE EVENTS:

2017 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30057878