Azure / Azure/azure-libraries-for-java

How can I get async behavior out of the Fluent SDK?

Open
#8 16 comments 1 reaction 0 assignees View on GitHub
customer-reported Mgmt Question
Dominant language
Java
Stars
97
Forks
102
PR merge metrics
No merged PRs in 30d

Description

_From @awesley on June 23, 2017 19:25_

Hiya,

I'm creating VMs using the Fluent SDK. Here's a code snippet:

```
var vm = await this.azure

.VirtualMachines

.Define(vmName)

.WithRegion(region)

.WithExistingResourceGroup(resourceGroupName)

.WithExistingPrimaryNetwork(network)

.WithSubnet(subNetName)

.WithPrimaryPrivateIPAddressDynamic()

.WithoutPrimaryPublicIPAddress()

.WithWindowsCustomImage(image)

.WithAdminUsername(adminUserName)

.WithAdminPassword(adminPassword)

.WithSize(vmSize)

.WithNewStorageAccount(storageAccountName)

.WithTag(TagKeyNames.StorageAccountId, storageAccount.Id)

.CreateAsync();
```

This task does not complete until the machine is entirely provisioned and booting - a period of over ten minutes. That doesn't seem async to me. Is there something I am doing wrong? I want the call to return prior to the machine's availability.

For comparison, when provisioning a VM on Amazon EC2 returns nearly immediately, well before the machine is fully provisioned and booted.

I need from the call is the Id (`vm.Id`), the Primary Private IP (`vm.GetPrimaryNetworkInterface().PrimaryPrivateIP`), and the primary NIC Id (`vm.PrimaryNetworkInterfaceId`). I do not need the machine to be ready.

Thanks!

_Copied from original issue: Azure/azure-sdk-for-net#3411_

Contributor guide

Open the contributing guide

Research direction

Start by tracing the Fluent SDK's VM CreateAsync provisioning path and reviewing the issue discussion for the intended completion semantics. Determine whether the requested VM ID, primary private IP, and NIC ID are available before the machine is ready; done means documenting or implementing a supported return point that matches those requirements.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, java
Domain
api, cloud
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.