- Notifications
You must be signed in to change notification settings - Fork0
jblackburn21/azure-libraries-for-net
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This README is based on the released stable version (1.3). If you are looking for other releases, seeMore Information
The Azure Management Libraries for .NET is a higher-level, object-oriented API for managing Azure resources. Libraries are built on the lower-level, request-response styleauto generated clients and can run side-by-side withauto generated clients.
Service | feature | Available as GA | Available as Preview | Coming soon |
---|---|---|---|
Compute | Virtual machines and VM extensions Virtual machine scale sets Managed disks | Azure container service + registry + instances Availability Zones | More Azure container registry features |
Storage | Storage accounts | Encryption | |
SQL Database | Databases Firewalls Elastic pools | More features | |
Networking | Virtual networks Network interfaces IP addresses Routing table Network security groups Application gateways DNS Traffic managers | Load balancers Network peering Virtual Network Gateway Network watchers | VPN More application gateway features |
More services | Resource Manager Key Vault Redis CDN Batch | Web apps Function Apps Service bus Graph RBAC Cosmos DB Search | Monitor Data Lake |
Fundamentals | Authentication - core Async methods Managed Service Identity |
Preview features are flagged in documentation comments in libraries. These features are subject to change. They can be modified in any way, or even removed, in the future.
TheAzure
class is the simplest entry point for creating and interacting with Azure resources.
IAzureazure=Azure.Authenticate(credFile).WithDefaultSubscription();
You can create a Cosmos DB account by using adefine() … create()
method chain.
vardocumentDBAccount=azure.DocumentDBAccounts.Define(docDBName).WithRegion(Region.USEast).WithNewResourceGroup(rgName).WithKind(DatabaseAccountKind.GlobalDocumentDB).WithSessionConsistency().WithWriteReplication(Region.USWest).WithReadReplication(Region.USCentral).Create();
You can create a virtual machine instance by using aDefine() … Create()
method chain.
Console.WriteLine("Creating a Windows VM");varwindowsVM=azure.VirtualMachines.Define("myWindowsVM").WithRegion(Region.USEast).WithNewResourceGroup(rgName).WithNewPrimaryNetwork("10.0.0.0/28").WithPrimaryPrivateIPAddressDynamic().WithNewPrimaryPublicIPAddress("mywindowsvmdns").WithPopularWindowsImage(KnownWindowsVirtualMachineImage.WindowsServer2012R2Datacenter).WithAdminUsername("tirekicker").WithAdminPassword(password).WithSize(VirtualMachineSizeTypes.StandardD3V2).Create();Console.WriteLine("Created a Windows VM: "+windowsVM.Id);
You can update a virtual machine instance by using anUpdate() … Apply()
method chain.
windowsVM.Update().WithNewDataDisk(20,lun,CachingTypes.ReadWrite).Apply();
You can create a virtual machine scale set instance by using anotherDefine() … Create()
method chain.
varvirtualMachineScaleSet=azure.VirtualMachineScaleSets.Define(vmssName).WithRegion(Region.USEast).WithExistingResourceGroup(rgName).WithSku(VirtualMachineScaleSetSkuTypes.StandardD3v2).WithExistingPrimaryNetworkSubnet(network,"Front-end").WithExistingPrimaryInternetFacingLoadBalancer(loadBalancer1).WithPrimaryInternetFacingLoadBalancerBackends(backendPoolName1,backendPoolName2).WithPrimaryInternetFacingLoadBalancerInboundNatPools(natPool50XXto22,natPool60XXto23).WithoutPrimaryInternalLoadBalancer().WithPopularLinuxImage(KnownLinuxVirtualMachineImage.UbuntuServer16_04_Lts).WithRootUsername(userName).WithSsh(sshKey).WithNewDataDisk(100).WithNewDataDisk(100,1,CachingTypes.ReadWrite).WithNewDataDisk(100,2,CachingTypes.ReadWrite,StorageAccountTypes.StandardLRS).WithCapacity(3).Create();
You can create a network security group instance by using anotherDefine() … Create()
method chain.
varfrontEndNSG=azure.NetworkSecurityGroups.Define(frontEndNSGName).WithRegion(Region.USEast).WithNewResourceGroup(rgName).DefineRule("ALLOW-SSH").AllowInbound().FromAnyAddress().FromAnyPort().ToAnyAddress().ToPort(22).WithProtocol(SecurityRuleProtocol.Tcp).WithPriority(100).WithDescription("Allow SSH").Attach().DefineRule("ALLOW-HTTP").AllowInbound().FromAnyAddress().FromAnyPort().ToAnyAddress().ToPort(80).WithProtocol(SecurityRuleProtocol.Tcp).WithPriority(101).WithDescription("Allow HTTP").Attach().Create();
You can create a application gateway instance by using anotherdefine() … create()
method chain.
varapplicationGateway=azure.ApplicationGateways.Define("myFirstAppGateway").WithRegion(Region.USEast).WithExistingResourceGroup(resourceGroup)// Request routing rule for HTTP from public 80 to public 8080.DefineRequestRoutingRule("HTTP-80-to-8080").FromPublicFrontend().FromFrontendHttpPort(80).ToBackendHttpPort(8080).ToBackendIPAddress("11.1.1.1").ToBackendIPAddress("11.1.1.2").ToBackendIPAddress("11.1.1.3").ToBackendIPAddress("11.1.1.4").Attach().WithExistingPublicIPAddress(publicIpAddress).Create();
You can create a Web App instance by using anotherdefine() … create()
method chain.
varwebApp=azure.WebApps.Define(appName).WithRegion(Region.USWest).WithNewResourceGroup(rgName).WithNewFreeAppServicePlan().Create();
You can create a SQL server instance by using anotherdefine() … create()
method chain.
varsqlServer=azure.SqlServers.Define(sqlServerName).WithRegion(Region.USEast).WithNewResourceGroup(rgName).WithAdministratorLogin(administratorLogin).WithAdministratorPassword(administratorPassword).WithNewFirewallRule(firewallRuleIpAddress).WithNewFirewallRule(firewallRuleStartIpAddress,firewallRuleEndIpAddress).Create();
Then, you can create a SQL database instance by using anotherdefine() … create()
method chain.
vardatabase=sqlServer.Databases.Define(databaseName).Create();
You can find plenty of sample code that illustrates management scenarios (95+ end-to-end scenarios) for Azure Virtual Machines, Virtual Machine Scale Sets, Managed Disks, Active Directory Azure Container Service and Registry, Storage, Networking, Resource Manager, SQL Database, Cosmos DB, App Service (Web Apps on Windows and Linux), Functions, Service Bus, Key Vault, Redis, CDN and Batch …
1.3 release builds are available on NuGet:
- .NET Core
- Azure Service Principal - seehow to create authentication info.
If you are migrating your code to 1.3, you can use these notes forpreparing your code for 1.3 from 1.2.
If you encounter any bugs with these libraries, please file issues viaIssues or checkoutStackOverflow for Azure Management Libraries for .NET.
To enable Http message tracing in your code please checkthis article.
If you would like to become an active contributor to this project please follow the instructions provided inMicrosoft Azure Projects Contribution Guidelines.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
- https://azure.microsoft.com/en-us/develop/net/
- If you don't have a Microsoft Azure subscription you can get a FREE trial accounthere.
Previous Releases and Corresponding Repo Branches
Version | SHA1 | Remarks |
---|---|---|
1.3 | 1.3 | Tagged release for 1.3 version of Azure management libraries |
1.2 | 1.2 | Tagged release for 1.2 version of Azure management libraries |
1.1 | 1.1 | Tagged release for 1.1 version of Azure management libraries |
1.0 | 1.0 | Tagged release for 1.0 version of Azure management libraries |
1.0.0-beta5 | 1.0.0-beta5 | Tagged release for 1.0.0-beta5 version of Azure management libraries |
1.0.0-beta4 | 1.0.0-beta4 | Tagged release for 1.0.0-beta4 version of Azure management libraries |
1.0.0-beta3 | 1.0.0-beta3 | Tagged release for 1.0.0-beta3 version of Azure management libraries |
AutoRest | AutoRest | Main branch for AutoRest generated raw clients |
This project has adopted theMicrosoft Open Source Code of Conduct. For more information see theCode of Conduct FAQ or contactopencode@microsoft.com with any additional questions or comments.
About
Azure libraries for .Net
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Languages
- C#100.0%