/** * 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.management.apigeneration.LangDefinition; import com.microsoft.azure.management.compute.CachingTypes; import com.microsoft.azure.management.compute.DataDisk; import com.microsoft.azure.management.compute.DiskCreateOptionTypes; import com.microsoft.azure.management.compute.StorageAccountTypes; import com.microsoft.azure.management.compute.VirtualMachineDataDisk; import com.microsoft.azure.management.resources.fluentcore.model.implementation.WrapperImpl; import com.microsoft.azure.management.resources.fluentcore.utils.Utils; /** * The implementation for {@link VirtualMachineDataDisk} interface. */ @LangDefinition class VirtualMachineDataDiskImpl extends WrapperImpl<DataDisk> implements VirtualMachineDataDisk { VirtualMachineDataDiskImpl(DataDisk dataDiskInner) { super(dataDiskInner); } @Override public int size() { return Utils.toPrimitiveInt(this.inner().diskSizeGB()); } @Override public int lun() { return this.inner().lun(); } @Override public CachingTypes cachingType() { return this.inner().caching(); } @Override public DiskCreateOptionTypes creationMethod() { return this.inner().createOption(); } @Override public StorageAccountTypes storageAccountType() { if (this.inner().managedDisk() == null) { return null; } return this.inner().managedDisk().storageAccountType(); } @Override public String id() { if (this.inner().managedDisk() == null) { return null; } return this.inner().managedDisk().id(); } @Override public String name() { return this.inner().name(); } }