/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. * * Code generated by Microsoft (R) AutoRest Code Generator. */ package com.microsoft.azure.management.compute; import com.fasterxml.jackson.annotation.JsonProperty; /** * Describes a virtual machine scale set data disk. */ public class VirtualMachineScaleSetDataDisk { /** * The disk name. */ @JsonProperty(value = "name") private String name; /** * The logical unit number. */ @JsonProperty(value = "lun", required = true) private int lun; /** * The caching type. Possible values include: 'None', 'ReadOnly', * 'ReadWrite'. */ @JsonProperty(value = "caching") private CachingTypes caching; /** * The create option. Possible values include: 'fromImage', 'empty', * 'attach'. */ @JsonProperty(value = "createOption", required = true) private DiskCreateOptionTypes createOption; /** * The initial disk size in GB for blank data disks, and the new desired * size for existing OS and Data disks. */ @JsonProperty(value = "diskSizeGB") private Integer diskSizeGB; /** * The managed disk parameters. */ @JsonProperty(value = "managedDisk") private VirtualMachineScaleSetManagedDiskParameters managedDisk; /** * Get the name value. * * @return the name value */ public String name() { return this.name; } /** * Set the name value. * * @param name the name value to set * @return the VirtualMachineScaleSetDataDisk object itself. */ public VirtualMachineScaleSetDataDisk withName(String name) { this.name = name; return this; } /** * Get the lun value. * * @return the lun value */ public int lun() { return this.lun; } /** * Set the lun value. * * @param lun the lun value to set * @return the VirtualMachineScaleSetDataDisk object itself. */ public VirtualMachineScaleSetDataDisk withLun(int lun) { this.lun = lun; return this; } /** * Get the caching value. * * @return the caching value */ public CachingTypes caching() { return this.caching; } /** * Set the caching value. * * @param caching the caching value to set * @return the VirtualMachineScaleSetDataDisk object itself. */ public VirtualMachineScaleSetDataDisk withCaching(CachingTypes caching) { this.caching = caching; return this; } /** * Get the createOption value. * * @return the createOption value */ public DiskCreateOptionTypes createOption() { return this.createOption; } /** * Set the createOption value. * * @param createOption the createOption value to set * @return the VirtualMachineScaleSetDataDisk object itself. */ public VirtualMachineScaleSetDataDisk withCreateOption(DiskCreateOptionTypes createOption) { this.createOption = createOption; return this; } /** * Get the diskSizeGB value. * * @return the diskSizeGB value */ public Integer diskSizeGB() { return this.diskSizeGB; } /** * Set the diskSizeGB value. * * @param diskSizeGB the diskSizeGB value to set * @return the VirtualMachineScaleSetDataDisk object itself. */ public VirtualMachineScaleSetDataDisk withDiskSizeGB(Integer diskSizeGB) { this.diskSizeGB = diskSizeGB; return this; } /** * Get the managedDisk value. * * @return the managedDisk value */ public VirtualMachineScaleSetManagedDiskParameters managedDisk() { return this.managedDisk; } /** * Set the managedDisk value. * * @param managedDisk the managedDisk value to set * @return the VirtualMachineScaleSetDataDisk object itself. */ public VirtualMachineScaleSetDataDisk withManagedDisk(VirtualMachineScaleSetManagedDiskParameters managedDisk) { this.managedDisk = managedDisk; return this; } }