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 ResourceGroup collection for that subscription
            Subscription subscription = await armClient.GetDefaultSubscriptionAsync();

            ResourceGroupCollection rgCollection = subscription.GetResourceGroups();

            string        rgName        = "myRgName";
            ResourceGroup 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 <AvailabilitySet> response = availabilitySetCollection.GetAllAsync();
            await foreach (AvailabilitySet availabilitySet in response)
            {
                Console.WriteLine(availabilitySet.Data.Name);
            }
            #endregion Snippet:Managing_Availability_Set_GetAllAvailabilitySets
        }
        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 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);

            // delete the availability set
            await availabilitySet.DeleteAsync(true);

            #endregion Snippet:Managing_Availability_Set_DeleteAnAvailabilitySet
        }
        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 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);
            // availabilitySet is an AvailabilitySetResource instance created above
            PatchableAvailabilitySetData update = new PatchableAvailabilitySetData()
            {
                PlatformFaultDomainCount = 3
            };
            AvailabilitySetResource updatedAvailabilitySet = await availabilitySet.UpdateAsync(update);
            #endregion Snippet:Managing_Availability_Set_UpdateAnAvailabilitySet
        }
Beispiel #4
0
        public async Task MigrationExample()
        {
            #region Snippet:Construct_Client
            ArmClient client = new ArmClient(new DefaultAzureCredential());
            #endregion

            #region Snippet:Create_ResourceGroup
            Subscription subscription = await client.GetDefaultSubscriptionAsync();

            ResourceGroupCollection resourceGroups = subscription.GetResourceGroups();

            AzureLocation location          = AzureLocation.WestUS2;
            string        resourceGroupName = "QuickStartRG";

            ResourceGroupData            resourceGroupData      = new ResourceGroupData(location);
            ArmOperation <ResourceGroup> resourceGroupOperation = await resourceGroups.CreateOrUpdateAsync(WaitUntil.Completed, resourceGroupName, resourceGroupData);

            ResourceGroup resourceGroup = resourceGroupOperation.Value;
            #endregion

            #region Snippet:Create_AvailabilitySet
            string virtualMachineName = "quickstartvm";
            AvailabilitySetData            availabilitySetData      = new AvailabilitySetData(location);
            AvailabilitySetCollection      availabilitySets         = resourceGroup.GetAvailabilitySets();
            ArmOperation <AvailabilitySet> availabilitySetOperation = await availabilitySets.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineName + "_aSet", availabilitySetData);

            AvailabilitySet availabilitySet = availabilitySetOperation.Value;
            #endregion

            #region Snippet:Create_Vnet_and_Subnet
            string virtualNetworkName = "MYVM" + "_vnet";
            string subnetName         = "mySubnet";

            VirtualNetworkData virtualNetworkData = new VirtualNetworkData()
            {
                Subnets =
                {
                    new SubnetData()
                    {
                        Name          = subnetName,
                        AddressPrefix = "10.0.0.0/24"
                    }
                }
            };
            VirtualNetworkCollection virtualNetworks = resourceGroup.GetVirtualNetworks();
            virtualNetworkData.AddressPrefixes.Add("10.0.0.0/16");
            ArmOperation <VirtualNetwork> virtualNetworkOperation = await virtualNetworks.CreateOrUpdateAsync(WaitUntil.Completed, virtualNetworkName, virtualNetworkData);

            VirtualNetwork virtualNetwork = virtualNetworkOperation.Value;
            #endregion

            #region Snippet:Create_NetworkSecurityGroup
            string networkSecurityGroupName = virtualMachineName + "_nsg";
            NetworkSecurityGroupData networkSecurityGroupData = new NetworkSecurityGroupData()
            {
                Location = location
            };
            NetworkSecurityGroupCollection      networkSecurityGroups         = resourceGroup.GetNetworkSecurityGroups();
            ArmOperation <NetworkSecurityGroup> networkSecurityGroupOperation = await networkSecurityGroups.CreateOrUpdateAsync(WaitUntil.Completed, networkSecurityGroupName, networkSecurityGroupData);

            NetworkSecurityGroup networkSecurityGroup = networkSecurityGroupOperation.Value;
            #endregion

            #region Snippet:Create_NetworkInterface
            string networkInterfaceName = virtualMachineName + "_nic";
            NetworkInterfaceIPConfigurationData networkInterfaceIPConfiguration = new NetworkInterfaceIPConfigurationData()
            {
                Name    = "Primary",
                Primary = true,
                Subnet  = new SubnetData()
                {
                    Id = virtualNetwork.Data.Subnets.First().Id
                },
                PrivateIPAllocationMethod = IPAllocationMethod.Dynamic,
            };

            NetworkInterfaceData nicData = new NetworkInterfaceData();
            nicData.Location = location;
            nicData.IPConfigurations.Add(networkInterfaceIPConfiguration);
            NetworkInterfaceCollection      networkInterfaces         = resourceGroup.GetNetworkInterfaces();
            ArmOperation <NetworkInterface> networkInterfaceOperation = await networkInterfaces.CreateOrUpdateAsync(WaitUntil.Completed, networkInterfaceName, nicData);

            NetworkInterface networkInterface = networkInterfaceOperation.Value;
            #endregion

            #region Snippet:Create_VirtualMachine
            VirtualMachineData virutalMachineData = new VirtualMachineData(location);
            virutalMachineData.OSProfile.AdminUsername = "******";
            virutalMachineData.OSProfile.AdminPassword = "******";
            virutalMachineData.OSProfile.ComputerName  = "computer-name";
            virutalMachineData.AvailabilitySetId       = availabilitySet.Id;
            NetworkInterfaceReference nicReference = new NetworkInterfaceReference();
            nicReference.Id = networkInterface.Id;
            virutalMachineData.NetworkProfile.NetworkInterfaces.Add(nicReference);

            VirtualMachineCollection      virtualMachines         = resourceGroup.GetVirtualMachines();
            ArmOperation <VirtualMachine> virtualMachineOperation = await virtualMachines.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineName, virutalMachineData);

            VirtualMachine virtualMachine = virtualMachineOperation.Value;
            Console.WriteLine("VM ID: " + virtualMachine.Id);
            #endregion
        }