예제 #1
0
        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
        }
예제 #2
0
        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
        }
예제 #3
0
        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
        }
예제 #4
0
        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
        }
예제 #5
0
        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
        }
예제 #6
0
        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
        }
예제 #7
0
 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
 }
예제 #8
0
        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
        }
예제 #10
0
        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
        }
예제 #12
0
 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
        }
예제 #15
0
        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
        }