azure-cli
Version:
Microsoft Azure Cross Platform Command Line tool
130 lines (124 loc) • 5.74 kB
JavaScript
/*
* 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.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
*/
;
const models = require('./index');
/**
* Describes a virtual machine scale set storage profile.
*
*/
class VirtualMachineScaleSetStorageProfile {
/**
* Create a VirtualMachineScaleSetStorageProfile.
* @member {object} [imageReference] Specifies information about the image to
* use. You can specify information about platform images, marketplace
* images, or virtual machine images. This element is required when you want
* to use a platform image, marketplace image, or virtual machine image, but
* is not used in other creation operations.
* @member {string} [imageReference.publisher] The image publisher.
* @member {string} [imageReference.offer] Specifies the offer of the
* platform image or marketplace image used to create the virtual machine.
* @member {string} [imageReference.sku] The image SKU.
* @member {string} [imageReference.version] Specifies the version of the
* platform image or marketplace image used to create the virtual machine.
* The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and
* Build are decimal numbers. Specify 'latest' to use the latest version of
* an image available at deploy time. Even if you use 'latest', the VM image
* will not automatically update after deploy time even if a new version
* becomes available.
* @member {object} [osDisk] Specifies information about the operating system
* disk used by the virtual machines in the scale set. <br><br> For more
* information about disks, see [About disks and VHDs for Azure virtual
* machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
* @member {string} [osDisk.name] The disk name.
* @member {string} [osDisk.caching] Specifies the caching requirements.
* <br><br> Possible values are: <br><br> **None** <br><br> **ReadOnly**
* <br><br> **ReadWrite** <br><br> Default: **None for Standard storage.
* ReadOnly for Premium storage**. Possible values include: 'None',
* 'ReadOnly', 'ReadWrite'
* @member {string} [osDisk.createOption] Specifies how the virtual machines
* in the scale set should be created.<br><br> The only allowed value is:
* **FromImage** \u2013 This value is used when you are using an image to
* create the virtual machine. If you are using a platform image, you also
* use the imageReference element described above. If you are using a
* marketplace image, you also use the plan element previously described.
* Possible values include: 'fromImage', 'empty', 'attach'
* @member {string} [osDisk.osType] This property allows you to specify the
* type of the OS that is included in the disk if creating a VM from
* user-image or a specialized VHD. <br><br> Possible values are: <br><br>
* **Windows** <br><br> **Linux**. Possible values include: 'Windows',
* 'Linux'
* @member {object} [osDisk.image] Specifies information about the unmanaged
* user image to base the scale set on.
* @member {string} [osDisk.image.uri] Specifies the virtual hard disk's uri.
* @member {array} [osDisk.vhdContainers] Specifies the container urls that
* are used to store operating system disks for the scale set.
* @member {object} [osDisk.managedDisk] The managed disk parameters.
* @member {string} [osDisk.managedDisk.storageAccountType] Specifies the
* storage account type for the managed disk. Possible values are:
* Standard_LRS or Premium_LRS. Possible values include: 'Standard_LRS',
* 'Premium_LRS'
* @member {array} [dataDisks] Specifies the parameters that are used to add
* data disks to the virtual machines in the scale set. <br><br> For more
* information about disks, see [About disks and VHDs for Azure virtual
* machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
*/
constructor() {
}
/**
* Defines the metadata of VirtualMachineScaleSetStorageProfile
*
* @returns {object} metadata of VirtualMachineScaleSetStorageProfile
*
*/
mapper() {
return {
required: false,
serializedName: 'VirtualMachineScaleSetStorageProfile',
type: {
name: 'Composite',
className: 'VirtualMachineScaleSetStorageProfile',
modelProperties: {
imageReference: {
required: false,
serializedName: 'imageReference',
type: {
name: 'Composite',
className: 'ImageReference'
}
},
osDisk: {
required: false,
serializedName: 'osDisk',
type: {
name: 'Composite',
className: 'VirtualMachineScaleSetOSDisk'
}
},
dataDisks: {
required: false,
serializedName: 'dataDisks',
type: {
name: 'Sequence',
element: {
required: false,
serializedName: 'VirtualMachineScaleSetDataDiskElementType',
type: {
name: 'Composite',
className: 'VirtualMachineScaleSetDataDisk'
}
}
}
}
}
}
};
}
}
module.exports = VirtualMachineScaleSetStorageProfile;