public async Task UpdateAvailabilitySet() { #region Snippet:Managing_Availability_Set_UpdateAnAvailabilitySet // First, initialize the ArmClient and get the default subscription ArmClient armClient = new ArmClient(new DefaultAzureCredential()); // Now we get a ResourceGroup collection for that subscription Subscription subscription = await armClient.GetDefaultSubscriptionAsync(); ResourceGroupCollection rgCollection = subscription.GetResourceGroups(); // With the collection, we can create a new resource group with an specific name string rgName = "myRgName"; ResourceGroup resourceGroup = await rgCollection.GetAsync(rgName); AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets(); string availabilitySetName = "myAvailabilitySet"; AvailabilitySet availabilitySet = await availabilitySetCollection.GetAsync(availabilitySetName); // availabilitySet is an AvailabilitySet instance created above AvailabilitySetUpdate update = new AvailabilitySetUpdate() { PlatformFaultDomainCount = 3 }; AvailabilitySet updatedAvailabilitySet = await availabilitySet.UpdateAsync(update); #endregion Snippet:Managing_Availability_Set_UpdateAnAvailabilitySet }
public async Task GettingResourceGroupCollection() { #region Snippet:Managing_Resource_Groups_GetResourceGroupCollection ArmClient armClient = new ArmClient(new DefaultAzureCredential()); Subscription subscription = await armClient.GetDefaultSubscriptionAsync(); ResourceGroupCollection rgCollection = subscription.GetResourceGroups(); // code omitted for brevity string rgName = "myRgName"; #if !SNIPPET //Check if "myRgName" exists, if not, create it first or run CreateResourceGroup() ResourceGroup rg = await subscription.GetResourceGroups().GetIfExistsAsync(rgName); if (rg == null) { AzureLocation location = AzureLocation.WestUS2; ResourceGroupData rgData = new ResourceGroupData(location); _ = await rgCollection.CreateOrUpdateAsync(true, rgName, rgData); } #endif ResourceGroup resourceGroup = await rgCollection.GetAsync(rgName); #endregion Snippet:Managing_Resource_Groups_GetResourceGroupCollection }
public async Task GetIfExistsAvailabilitySet() { #region Snippet:Managing_Availability_Set_GetIfExistsForAvailabilitySet // First, initialize the ArmClient and get the default subscription ArmClient armClient = new ArmClient(new DefaultAzureCredential()); // Now we get a ResourceGroup collection for that subscription Subscription subscription = await armClient.GetDefaultSubscriptionAsync(); ResourceGroupCollection rgCollection = subscription.GetResourceGroups(); string rgName = "myRgName"; ResourceGroup resourceGroup = await rgCollection.GetAsync(rgName); AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets(); string availabilitySetName = "myAvailabilitySet"; AvailabilitySet availabilitySet = await availabilitySetCollection.GetIfExistsAsync(availabilitySetName); if (availabilitySet == null) { Console.WriteLine($"Availability Set {availabilitySetName} does not exist."); return; } // At this point, we are sure that availabilitySet is a not null Availability Set, so we can use this object to perform any operations we want. #endregion Snippet:Managing_Availability_Set_GetIfExistsForAvailabilitySet }
public async Task PuttingItAllTogether() { #region Snippet:Readme_PuttingItAllTogether // First we construct our client ArmClient client = new ArmClient(new DefaultAzureCredential()); // Next we get a resource group object // ResourceGroup is a [Resource] object from above Subscription subscription = await client.GetDefaultSubscriptionAsync(); ResourceGroupCollection resourceGroups = subscription.GetResourceGroups(); ResourceGroup resourceGroup = await resourceGroups.GetAsync("myRgName"); // Next we get the collection for the virtual machines // vmCollection is a [Resource]Collection object from above VirtualMachineCollection virtualMachines = resourceGroup.GetVirtualMachines(); // Next we loop over all vms in the collection // Each vm is a [Resource] object from above await foreach (VirtualMachine virtualMachine in virtualMachines) { // We access the [Resource]Data properties from vm.Data if (!virtualMachine.Data.Tags.ContainsKey("owner")) { // We can also access all operations from vm since it is already scoped for us await virtualMachine.AddTagAsync("owner", "tagValue"); } } #endregion Snippet:Readme_PuttingItAllTogether }
public async Task DeleteResourceGroup() { #region Snippet:Managing_Resource_Groups_DeleteResourceGroup ArmClient client = new ArmClient(new DefaultAzureCredential()); Subscription subscription = await client.GetDefaultSubscriptionAsync(); ResourceGroupCollection resourceGroups = subscription.GetResourceGroups(); string resourceGroupName = "myRgName"; ResourceGroup resourceGroup = await resourceGroups.GetAsync(resourceGroupName); await resourceGroup.DeleteAsync(true); #endregion Snippet:Managing_Resource_Groups_DeleteResourceGroup }
public async Task UpdateAResourceGroup() { #region Snippet:Managing_Resource_Groups_UpdateAResourceGroup // Note: Resource group named 'myRgName' should exist for this example to work. ArmClient client = new ArmClient(new DefaultAzureCredential()); Subscription subscription = await client.GetDefaultSubscriptionAsync(); ResourceGroupCollection resourceGroups = subscription.GetResourceGroups(); string resourceGroupName = "myRgName"; ResourceGroup resourceGroup = await resourceGroups.GetAsync(resourceGroupName); resourceGroup = await resourceGroup.AddTagAsync("key", "value"); #endregion Snippet:Managing_Resource_Groups_UpdateAResourceGroup }
public async Task LoopVms() { #region Snippet:Readme_LoopVms ArmClient client = new ArmClient(new DefaultAzureCredential()); string resourceGroupName = "myResourceGroup"; Subscription subscription = await client.GetDefaultSubscriptionAsync(); ResourceGroupCollection resourceGroups = subscription.GetResourceGroups(); ResourceGroup resourceGroup = await resourceGroups.GetAsync(resourceGroupName); await foreach (VirtualMachine virtualMachine in resourceGroup.GetVirtualMachines()) { //previously we would have to take the resourceGroupName and the vmName from the vm object //and pass those into the powerOff method as well as we would need to execute that on a separate compute client await virtualMachine.PowerOffAsync(WaitUntil.Completed); } #endregion Snippet:Readme_LoopVms }
public async Task GettingResourceGroupCollection() { #region Snippet:Managing_Resource_Groups_GetResourceGroupCollection ArmClient client = new ArmClient(new DefaultAzureCredential()); Subscription subscription = await client.GetDefaultSubscriptionAsync(); ResourceGroupCollection resourceGroups = subscription.GetResourceGroups(); // code omitted for brevity string resourceGroupName = "myRgName"; ResourceGroup resourceGroup = await resourceGroups.GetAsync(resourceGroupName); #endregion Snippet:Managing_Resource_Groups_GetResourceGroupCollection }
public async Task AddTagToAvailabilitySet() { #region Snippet:Managing_Availability_Set_AddTagAvailabilitySet // First, initialize the ArmClient and get the default subscription ArmClient armClient = new ArmClient(new DefaultAzureCredential()); // Now we get a ResourceGroupResource collection for that subscription SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync(); ResourceGroupCollection rgCollection = subscription.GetResourceGroups(); string rgName = "myRgName"; ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName); AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets(); string availabilitySetName = "myAvailabilitySet"; AvailabilitySetResource availabilitySet = await availabilitySetCollection.GetAsync(availabilitySetName); // add a tag on this availabilitySet AvailabilitySetResource updatedAvailabilitySet = await availabilitySet.AddTagAsync("key", "value"); #endregion Snippet:Managing_Availability_Set_AddTagAvailabilitySet }
public async Task TryGetResourceGroupOld() { #region Snippet:Readme_OldExistsRG ArmClient client = new ArmClient(new DefaultAzureCredential()); Subscription subscription = await client.GetDefaultSubscriptionAsync(); ResourceGroupCollection resourceGroups = subscription.GetResourceGroups(); string resourceGroupName = "myRgName"; try { ResourceGroup resourceGroup = await resourceGroups.GetAsync(resourceGroupName); // At this point, we are sure that myRG is a not null Resource Group, so we can use this object to perform any operations we want. } catch (RequestFailedException ex) when (ex.Status == 404) { Console.WriteLine($"Resource Group {resourceGroupName} does not exist."); } #endregion Snippet:Readme_OldExistsRG }
public async Task DeleteAvailabilitySet() { #region Snippet:Managing_Availability_Set_DeleteAnAvailabilitySet // First, initialize the ArmClient and get the default subscription ArmClient armClient = new ArmClient(new DefaultAzureCredential()); // Now we get a ResourceGroupResource collection for that subscription SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync(); ResourceGroupCollection rgCollection = subscription.GetResourceGroups(); // With the collection, we can create a new resource group with an specific name string rgName = "myRgName"; ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName); AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets(); string availabilitySetName = "myAvailabilitySet"; AvailabilitySetResource availabilitySet = await availabilitySetCollection.GetAsync(availabilitySetName); // delete the availability set await availabilitySet.DeleteAsync(WaitUntil.Completed); #endregion Snippet:Managing_Availability_Set_DeleteAnAvailabilitySet }
public async Task ManageAvailabilitySetOld() { #region Snippet:Readme_ManageAvailabilitySetOld ResourceIdentifier id = new ResourceIdentifier("/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/workshop2021-rg/providers/Microsoft.Compute/availabilitySets/ws2021availSet"); // We construct a new client to work with ArmClient client = new ArmClient(new DefaultAzureCredential()); // Next we get the collection of subscriptions SubscriptionCollection subscriptions = client.GetSubscriptions(); // Next we get the specific subscription this resource belongs to Subscription subscription = await subscriptions.GetAsync(id.SubscriptionId); // Next we get the collection of resource groups that belong to that subscription ResourceGroupCollection resourceGroups = subscription.GetResourceGroups(); // Next we get the specific resource group this resource belongs to ResourceGroup resourceGroup = await resourceGroups.GetAsync(id.ResourceGroupName); // Next we get the collection of availability sets that belong to that resource group AvailabilitySetCollection availabilitySets = resourceGroup.GetAvailabilitySets(); // Finally we get the resource itself // Note: for this last step in this example, Azure.ResourceManager.Compute is needed AvailabilitySet availabilitySet = await availabilitySets.GetAsync(id.Name); #endregion Snippet:Readme_ManageAvailabilitySetOld }
public async Task GetAllAvailabilitySets() { #region Snippet:Managing_Availability_Set_GetAllAvailabilitySets // First, initialize the ArmClient and get the default subscription ArmClient armClient = new ArmClient(new DefaultAzureCredential()); // Now we get a ResourceGroupResource collection for that subscription SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync(); ResourceGroupCollection rgCollection = subscription.GetResourceGroups(); string rgName = "myRgName"; ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName); // First, we get the availability set collection from the resource group AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets(); // With GetAllAsync(), we can get a list of the availability sets in the collection AsyncPageable<AvailabilitySetResource> response = availabilitySetCollection.GetAllAsync(); await foreach (AvailabilitySetResource availabilitySet in response) { Console.WriteLine(availabilitySet.Data.Name); } #endregion Snippet:Managing_Availability_Set_GetAllAvailabilitySets }
public async Task CheckIfExists() { #region Snippet:Managing_Availability_Set_CheckIfExistsForAvailabilitySet ArmClient armClient = new ArmClient(new DefaultAzureCredential()); SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync(); ResourceGroupCollection rgCollection = subscription.GetResourceGroups(); string rgName = "myRgName"; ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName); string availabilitySetName = "myAvailabilitySet"; bool exists = await resourceGroup.GetAvailabilitySets().ExistsAsync(availabilitySetName); if (exists) { Console.WriteLine($"Availability Set {availabilitySetName} exists."); } else { Console.WriteLine($"Availability Set {availabilitySetName} does not exist."); } #endregion Snippet:Managing_Availability_Set_CheckIfExistsForAvailabilitySet }
public async Task CheckIfResourceGroupExists() { #region Snippet:Readme_ExistsRG ArmClient client = new ArmClient(new DefaultAzureCredential()); Subscription subscription = await client.GetDefaultSubscriptionAsync(); ResourceGroupCollection resourceGroups = subscription.GetResourceGroups(); string resourceGroupName = "myRgName"; bool exists = await resourceGroups.ExistsAsync(resourceGroupName); if (exists) { Console.WriteLine($"Resource Group {resourceGroupName} exists."); // We can get the resource group now that we know it exists. // This does introduce a small race condition where resource group could have been deleted between the check and the get. ResourceGroup resourceGroup = await resourceGroups.GetAsync(resourceGroupName); } else { Console.WriteLine($"Resource Group {resourceGroupName} does not exist."); } #endregion Snippet:Readme_ExistsRG }