#Azure Management Libraries for Java
This README is based on the latest released preview version (1.0 beta 5). If you are looking for other releases, see More Information
The Azure Management Libraries for Java is a higher-level, object-oriented API for managing Azure resources.
1.0 beta 5 is a developer preview that supports major parts of:
The next preview version of the Azure Management Libraries for Java is a work in-progress. We will be adding support for more Azure services and applying finishing touches to the API.
Azure Authentication
The Azure
class is the simplest entry point for creating and interacting with Azure resources.
Azure azure = Azure.authenticate(credFile).withDefaultSubscription();
Create a Virtual Machine
You can create a virtual machine instance by using a define() … create()
method chain.
System.out.println("Creating a Linux VM"); VirtualMachine linuxVM = azure.virtualMachines().define("myLinuxVM") .withRegion(Region.US_EAST) .withNewResourceGroup(rgName) .withNewPrimaryNetwork("10.0.0.0/28") .withPrimaryPrivateIpAddressDynamic() .withNewPrimaryPublicIpAddress("mylinuxvmdns") .withPopularLinuxImage(KnownLinuxVirtualMachineImage.UBUNTU_SERVER_16_04_LTS) .withRootUsername("tirekicker") .withSsh(sshKey) .withSize(VirtualMachineSizeTypes.STANDARD_D3_V2) .create(); System.out.println("Created a Linux VM: " + linuxVM.id());
Update a Virtual Machine
You can update a virtual machine instance by using an update() … apply()
method chain.
linuxVM.update() .withNewDataDisk(20, lun, CachingTypes.READ_WRITE) .apply();
Create a Virtual Machine Scale Set
You can create a virtual machine scale set instance by using another define() … create()
method chain.
VirtualMachineScaleSet virtualMachineScaleSet = azure.virtualMachineScaleSets() .define(vmssName) .withRegion(Region.US_EAST) .withExistingResourceGroup(rgName) .withSku(VirtualMachineScaleSetSkuTypes.STANDARD_D3_V2) .withExistingPrimaryNetworkSubnet(network, "Front-end") .withPrimaryInternetFacingLoadBalancer(loadBalancer1) .withPrimaryInternetFacingLoadBalancerBackends(backendPoolName1, backendPoolName2) .withPrimaryInternetFacingLoadBalancerInboundNatPools(natPool50XXto22, natPool60XXto23) .withoutPrimaryInternalLoadBalancer() .withPopularLinuxImage(KnownLinuxVirtualMachineImage.UBUNTU_SERVER_16_04_LTS) .withRootUsername(userName) .withSsh(sshKey) .withNewDataDisk(100) .withNewDataDisk(100, 1, CachingTypes.READ_WRITE) .withNewDataDisk(100, 2, CachingTypes.READ_WRITE, StorageAccountTypes.STANDARD_LRS) .withCapacity(3) .create();
Create a Network Security Group
You can create a network security group instance by using another define() … create()
method chain.
NetworkSecurityGroup frontEndNSG = azure.networkSecurityGroups().define(frontEndNSGName) .withRegion(Region.US_EAST) .withNewResourceGroup(rgName) .defineRule("ALLOW-SSH") .allowInbound() .fromAnyAddress() .fromAnyPort() .toAnyAddress() .toPort(22) .withProtocol(NetworkSecurityRule.Protocol.TCP) .withPriority(100) .withDescription("Allow SSH") .attach() .defineRule("ALLOW-HTTP") .allowInbound() .fromAnyAddress() .fromAnyPort() .toAnyAddress() .toPort(80) .withProtocol(NetworkSecurityRule.Protocol.TCP) .withPriority(101) .withDescription("Allow HTTP") .attach() .create();
Create an Application Gateway
You can create a application gateway instance by using another define() … create()
method chain.
ApplicationGateway applicationGateway = azure.applicationGateways().define("myFirstAppGateway") .withRegion(Region.US_EAST) .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();
Create a Web App
You can create a Web App instance by using another define() … create()
method chain.
WebApp webApp = azure.webApps() .define(appName) .withNewResourceGroup(rgName) .withNewAppServicePlan(planName) .withRegion(Region.US_WEST) .withPricingTier(AppServicePricingTier.STANDARD_S1) .create();
Create a SQL Database
You can create a SQL server instance by using another define() … create()
method chain.
SqlServer sqlServer = azure.sqlServers().define(sqlServerName) .withRegion(Region.US_EAST) .withNewResourceGroup(rgName) .withAdministratorLogin("adminlogin123") .withAdministratorPassword("myS3cureP@ssword") .withNewFirewallRule("10.0.0.1") .withNewFirewallRule("10.2.0.1", "10.2.0.10") .create();
Then, you can create a SQL database instance by using another define() … create()
method chain.
SqlDatabase database = sqlServer.databases().define("myNewDatabase") .create();
#Sample Code
You can find plenty of sample code that illustrates management scenarios in Azure Virtual Machines, Virtual Machine Scale Sets, Managed Disks, Storage, Networking, Resource Manager, SQL Database, App Service (Web Apps), Key Vault, Redis, CDN and Batch …
1.0 Beta 5
If you are using released builds from 1.0 beta 5, add the following to your POM file:
<dependency> <groupId>com.microsoft.azure</groupId> <artifactId>azure</artifactId> <version>1.0.0-beta5</version> </dependency>
#Pre-requisites
If you are migrating your code to 1.0 beta 5, you can use these notes for preparing your code for 1.0 beta 5 from 1.0 beta 4.
If you encounter any bugs with these libraries, please file issues via Issues or checkout StackOverflow for Azure Java SDK.
#Contribute Code
If you would like to become an active contributor to this project please follow the instructions provided in Microsoft Azure Projects Contribution Guidelines.
git checkout -b my-new-feature
)git commit -am 'Add some feature'
)git push origin my-new-feature
)#More Information
Previous Releases and Corresponding Repo Branches
Version SHA1 Remarks 1.0.0-beta4.1 1.0.0-beta4.1 Tagged release for 1.0.0-beta4.1 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 1.0.0-beta2 1.0.0-beta2 Tagged release for 1.0.0-beta2 version of Azure management libraries 1.0.0-beta1 1.0.0-beta1 Maintenance branch for AutoRest generated raw clients 1.0.0-beta1+fixes v1.0.0-beta1+fixes Stable build for AutoRest generated raw clients 0.9.x-SNAPSHOTS 0.9 Maintenance branch for service management libraries 0.9.3 v0.9.3 Latest release for service management librariesThis project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4