public async Task ManagementGroupLevelDeployment() { string groupId = "tag-mg1"; string deploymentName = Recording.GenerateAssetName("csharpsdktest"); var templateString = File.ReadAllText(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "ScenarioTests", "management_group_level_template.json")); var parameters = new ScopedDeployment ( "East US", new DeploymentProperties(DeploymentMode.Incremental) { Template = templateString, Parameters = "{'storageAccountName': {'value': 'tagsa021921'}}".Replace("'", "\"") } ) { Tags = new Dictionary <string, string> { { "tagKey1", "tagValue1" } } }; //Validate var rawValidationResult = await DeploymentsOperations.StartValidateAtManagementGroupScopeAsync(groupId, deploymentName, parameters); var validationResult = (await WaitForCompletionAsync(rawValidationResult)).Value; //Assert Assert.Null(validationResult.Error); Assert.NotNull(validationResult.Properties); Assert.NotNull(validationResult.Properties.Providers); //Put deployment var deploymentResult = await DeploymentsOperations.StartCreateOrUpdateAtManagementGroupScopeAsync(groupId, deploymentName, parameters); await WaitForCompletionAsync(deploymentResult); var deployment = (await DeploymentsOperations.GetAtManagementGroupScopeAsync(groupId, deploymentName)).Value; Assert.AreEqual("Succeeded", deployment.Properties.ProvisioningState); Assert.NotNull(deployment.Tags); Assert.True(deployment.Tags.ContainsKey("tagKey1")); }