public async Task Get()
        {
            #region Snippet:Managing_Networks_GetANetworkInterface
            NetworkInterfaceCollection networkInterfaceCollection = resourceGroup.GetNetworkInterfaces();

            NetworkInterface virtualNetwork = await networkInterfaceCollection.GetAsync("myVnet");

            Console.WriteLine(virtualNetwork.Data.Name);
            #endregion
        }
        public async Task DeleteNetworkInterface()
        {
            #region Snippet:Managing_Networks_DeleteANetworkInterface
            NetworkInterfaceCollection networkInterfaceCollection = resourceGroup.GetNetworkInterfaces();

            NetworkInterface virtualNetwork = await networkInterfaceCollection.GetAsync("myVnet");

            await virtualNetwork.DeleteAsync();

            #endregion
        }
        public async Task List()
        {
            #region Snippet:Managing_Networks_ListAllNetworkInterfaces
            NetworkInterfaceCollection networkInterfaceCollection = resourceGroup.GetNetworkInterfaces();

            AsyncPageable <NetworkInterface> response = networkInterfaceCollection.GetAllAsync();
            await foreach (NetworkInterface virtualNetwork in response)
            {
                Console.WriteLine(virtualNetwork.Data.Name);
            }
            #endregion
        }
        public async Task GetIfExists()
        {
            #region Snippet:Managing_Networks_GetANetworkInterfaceIfExists
            NetworkInterfaceCollection networkInterfaceCollection = resourceGroup.GetNetworkInterfaces();

            NetworkInterface virtualNetwork = await networkInterfaceCollection.GetIfExistsAsync("foo");

            if (virtualNetwork != null)
            {
                Console.WriteLine(virtualNetwork.Data.Name);
            }

            if (await networkInterfaceCollection.CheckIfExistsAsync("bar"))
            {
                Console.WriteLine("Network interface 'bar' exists.");
            }
            #endregion
        }
        public async Task CreateOrUpdate()
        {
            VirtualNetworkCollection virtualNetworkCollection = resourceGroup.GetVirtualNetworks();
            string vnetName = "myVnet";
            // Use the same location as the resource group
            VirtualNetworkData vnetInput = new VirtualNetworkData()
            {
                Location     = resourceGroup.Data.Location,
                AddressSpace = new AddressSpace()
                {
                    AddressPrefixes = { "10.0.0.0/16", }
                },
                DhcpOptions = new DhcpOptions()
                {
                    DnsServers = { "10.1.1.1", "10.1.2.4" }
                },
                Subnets = { new SubnetData()
                            {
                                Name = "mySubnet", AddressPrefix = "10.0.1.0/24"
                            } }
            };
            VirtualNetwork virtualNetwork = await virtualNetworkCollection.CreateOrUpdate(vnetName, vnetInput).WaitForCompletionAsync();

            #region Snippet:Managing_Networks_CreateANetworkInterface
            PublicIPAddressCollection publicIPAddressCollection = resourceGroup.GetPublicIPAddresses();
            string publicIPAddressName        = "myIPAddress";
            PublicIPAddressData publicIPInput = new PublicIPAddressData()
            {
                Location = resourceGroup.Data.Location,
                PublicIPAllocationMethod = IPAllocationMethod.Dynamic,
                DnsSettings = new PublicIPAddressDnsSettings()
                {
                    DomainNameLabel = "myDomain"
                }
            };
            PublicIPAddress publicIPAddress = await publicIPAddressCollection.CreateOrUpdate(publicIPAddressName, publicIPInput).WaitForCompletionAsync();

            NetworkInterfaceCollection networkInterfaceCollection = resourceGroup.GetNetworkInterfaces();
            string networkInterfaceName = "myNetworkInterface";
            NetworkInterfaceData networkInterfaceInput = new NetworkInterfaceData()
            {
                Location         = resourceGroup.Data.Location,
                IpConfigurations =
                {
                    new NetworkInterfaceIPConfiguration()
                    {
                        Name = "ipConfig",
                        PrivateIPAllocationMethod = IPAllocationMethod.Dynamic,
                        PublicIPAddress           = new PublicIPAddressData()
                        {
                            Id = publicIPAddress.Id
                        },
                        Subnet = new SubnetData()
                        {
                            // use the virtual network just created
                            Id = virtualNetwork.Data.Subnets[0].Id
                        }
                    }
                }
            };
            NetworkInterface networkInterface = await networkInterfaceCollection.CreateOrUpdate(networkInterfaceName, networkInterfaceInput).WaitForCompletionAsync();

            #endregion
        }
        public async Task <NetworkInterface> CreateNetworkInterface(string name, string publicIpAddressId, string subnetId,
                                                                    string location, string ipConfigName, NetworkInterfaceCollection networkInterfaceCollection)
        {
            var nicParameters = new NetworkInterfaceData()
            {
                Location         = location,
                Tags             = { { "key", "value" } },
                IpConfigurations =
                {
                    new NetworkInterfaceIPConfigurationData()
                    {
                        Name = ipConfigName,
                        PrivateIPAllocationMethod = IPAllocationMethod.Dynamic,
                        Subnet = new SubnetData()
                        {
                            Id = subnetId
                        }
                    }
                }
            };

            if (!string.IsNullOrEmpty(publicIpAddressId))
            {
                nicParameters.IpConfigurations[0].PublicIPAddress = new PublicIPAddressData() /*Id = publicIpAddressId*/ }
                {
                    ;
            }

            // Test NIC apis
            var operation = InstrumentOperation(await networkInterfaceCollection.CreateOrUpdateAsync(true, name, nicParameters));
            await operation.WaitForCompletionAsync();

            Response <NetworkInterface> getNicResponse = await networkInterfaceCollection.GetAsync(name);

            Assert.AreEqual(getNicResponse.Value.Data.Name, name);

            // because its a single CA nic, primaryOnCA is always true
            Assert.True(getNicResponse.Value.Data.IpConfigurations[0].Primary);

            Assert.AreEqual("Succeeded", getNicResponse.Value.Data.ProvisioningState.ToString());

            return(getNicResponse);
        }
Example #7
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
        }