private List<String> createVirtualMachinesInGroupAndGetNicRefs(final String group, final int count) throws RunNodesException { // To add multiple nodes in a LB they must belong to the same availability // set AvailabilitySetProperties props = AvailabilitySetProperties.builder().platformUpdateDomainCount(count) .platformFaultDomainCount(count).build(); AvailabilitySet as = AvailabilitySet.managed().name(group).properties(props).build(); Set<? extends NodeMetadata> nodes = view.getComputeService().createNodesInGroup(group, count, availabilitySet(as).resourceGroup(this.group)); List<String> nicNames = new ArrayList<String>(); for (NodeMetadata node : nodes) { ResourceGroupAndName resourceGroupAndName = ResourceGroupAndName.fromSlashEncoded(node.getId()); VirtualMachine vm = api.getVirtualMachineApi(resourceGroupAndName.resourceGroup()).get( resourceGroupAndName.name()); String nicName = extractName(vm.properties().networkProfile().networkInterfaces().get(0).id()); nicNames.add(nicName); } return nicNames; }
@SerializedNames({ "id", "name", "type", "location", "sku", "tags", "properties" }) public static AvailabilitySet create(final String id, final String name, final String type, final String location, SKU sku, final Map<String, String> tags, AvailabilitySetProperties properties) { return builder().id(id).name(name).type(type).location(location).sku(sku).tags(tags).properties(properties) .build(); }
@SerializedNames({ "id", "name", "type", "location", "sku", "tags", "properties" }) public static AvailabilitySet create(final String id, final String name, final String type, final String location, SKU sku, final Map<String, String> tags, AvailabilitySetProperties properties) { return builder().id(id).name(name).type(type).location(location).sku(sku).tags(tags).properties(properties) .build(); }