public async System.Threading.Tasks.Task <IActionResult> Index()
        {
            ViewData["SubscriptionId"] = subscription_id;
            try
            {
                var token = await MsiHelper.GetToken("https://storage.azure.com/");

                ViewData["BlobTokenStatus"] = string.IsNullOrEmpty(token) ? "Failed to get token for storage.azure.com/" : "Got an ARM token for storage.azure.com/";
                ViewData["DecodedToken"]    = JwtHelper.DecodeToJson(token);


                if (string.IsNullOrEmpty(token))
                {
                    ViewData["Containers"] = "Get StorageToken was unsuccessful";
                }
                else
                {
                    ViewData["ContainersXML"] = AzureStorageHelper.GetAllContainerNamesXml(token, storage_account);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                ViewData["Exception"]      = ex?.Message;
                ViewData["InnerException"] = ex?.InnerException?.Message;
            }

            return(View());
        }
Example #2
0
        public async Task <IActionResult> Index()
        {
            var ARMtoken = await MsiHelper.GetToken("https://management.azure.com/");

            var allCosmos = await GetAllCosmosDb(ARMtoken);

            ViewData["AllCosmosNames"] = new List <string>(allCosmos.Select(c => c.Name));
            ViewData["AllCosmosJson"]  = PrettyStringHelper.JsonPrettify(JsonConvert.SerializeObject(allCosmos));
            // replace if in query, otherwise use defaults
            if (HttpContext.Request.Query.ContainsKey("rg"))
            {
                cosmos_rg = HttpContext.Request.Query["rg"];
            }
            if (HttpContext.Request.Query.ContainsKey("name"))
            {
                cosmos_name = HttpContext.Request.Query["name"];
            }
            ViewData["CosmosName"] = cosmos_name;
            var cosmosKeys = await CosmosHelper.GetKeysAsync(ARMtoken, subscription_id, cosmos_rg, cosmos_name);

            ViewData["NumKeys"] = cosmosKeys?.Keys?.Count.ToString() ?? "Failed to get keys for " + cosmos_name + " in rg " + cosmos_rg;
            if (cosmosKeys?.Keys != null)
            {
                ViewData["KeyNamesJson"] = PrettyStringHelper.JsonPrettify(JsonConvert.SerializeObject(cosmosKeys.Keys));
            }
            else
            {
                ViewData["KeyNamesJson"] = "[]";
            }
            return(View());
        }
Example #3
0
        public async Task <IActionResult> Demo()
        {
            ViewData["SubscriptionId"] = subscription_id;
            try
            {
                var ARMtoken = await MsiHelper.GetToken("https://management.azure.com/");

                ViewData["ARMTokenStatus"] = string.IsNullOrEmpty(ARMtoken) ? "Failed to get token for management.azure.com/" : "Got an ARM token for management.azure.com/";

                var storageToken = await MsiHelper.GetToken("https://storage.azure.com/");

                ViewData["BlobTokenStatus"] = string.IsNullOrEmpty(storageToken) ?  "Failed to get token for storage.azure.com/" : "Got an ARM token for storage.azure.com/";

                if (string.IsNullOrEmpty(ARMtoken))
                {
                    ViewData["NumKeys"] = "Get ARMtoken was unsuccessful, won't attempt to get COSMOS keys";
                }
                else
                {
                    // let's get this from input
                    //var cosmosKey = CosmosHelper.GetKeys(ARMtoken, "e39a92b5-b9a4-43d1-97a3-c31c819a583a", "istiotest", "msitester-table");
                    var cosmosKey = await CosmosHelper.GetKeysAsync(ARMtoken, subscription_id, cosmos_rg, cosmos_name);

                    ViewData["NumKeys"] = cosmosKey?.Keys?.Count.ToString() ?? "Failed to get keys for " + cosmos_name + " in rg " + cosmos_rg;
                }
                if (string.IsNullOrEmpty(storageToken))
                {
                    ViewData["Containers"] = "Get StorageToken was unsuccessful";
                }
                else
                {
                    ViewData["ContainersXML"] = AzureStorageHelper.GetAllContainerNamesXml(storageToken, storage_account);
                }
                var rgs = await AzureServiceHelper.GetResourceGroups(ARMtoken, subscription_id);

                ViewData["ResourceGroups"] = new List <string> (rgs.Select(r => r.Name).ToList());
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                ViewData["Exception"]      = ex?.Message;
                ViewData["InnerException"] = ex?.InnerException?.Message;
            }

            return(View());
        }
Example #4
0
 private async Task <string> GetToken(string resource)
 {
     return(await MsiHelper.GetToken(resource)); // throws on error
 }