/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. */ package com.microsoft.azure.management.compute.implementation; import com.microsoft.azure.PagedList; import com.microsoft.azure.management.apigeneration.LangDefinition; import com.microsoft.azure.management.compute.VirtualMachineScaleSetVM; import com.microsoft.azure.management.compute.VirtualMachineScaleSetVMs; import com.microsoft.azure.management.resources.fluentcore.arm.collection.implementation.ReadableWrappersImpl; import rx.Observable; /** * Implementation for {@link VirtualMachineScaleSetVMs}. */ @LangDefinition class VirtualMachineScaleSetVMsImpl extends ReadableWrappersImpl<VirtualMachineScaleSetVM, VirtualMachineScaleSetVMImpl, VirtualMachineScaleSetVMInner> implements VirtualMachineScaleSetVMs { private final VirtualMachineScaleSetImpl scaleSet; private final VirtualMachineScaleSetVMsInner client; private final ComputeManager computeManager; VirtualMachineScaleSetVMsImpl(VirtualMachineScaleSetImpl scaleSet, VirtualMachineScaleSetVMsInner client, ComputeManager computeManager) { this.scaleSet = scaleSet; this.client = client; this.computeManager = computeManager; } @Override protected VirtualMachineScaleSetVMImpl wrapModel(VirtualMachineScaleSetVMInner inner) { return new VirtualMachineScaleSetVMImpl(inner, this.scaleSet, this.client, this.computeManager); } @Override public PagedList<VirtualMachineScaleSetVM> list() { return super.wrapList(this.client.list(this.scaleSet.resourceGroupName(), this.scaleSet.name())); } @Override public VirtualMachineScaleSetVMsInner inner() { return this.client; } @Override public Observable<VirtualMachineScaleSetVM> listAsync() { return super.wrapPageAsync(this.client.listAsync(this.scaleSet.resourceGroupName(), this.scaleSet.name())); } }