azure-cli
Version:
Microsoft Azure Cross Platform Command Line tool
134 lines (128 loc) • 4.48 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 operating system disk.
*
*/
class VirtualMachineScaleSetOSDisk {
/**
* Create a VirtualMachineScaleSetOSDisk.
* @member {string} [name] The disk name.
* @member {string} [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} 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} [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} [image] Specifies information about the unmanaged user
* image to base the scale set on.
* @member {string} [image.uri] Specifies the virtual hard disk's uri.
* @member {array} [vhdContainers] Specifies the container urls that are used
* to store operating system disks for the scale set.
* @member {object} [managedDisk] The managed disk parameters.
* @member {string} [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'
*/
constructor() {
}
/**
* Defines the metadata of VirtualMachineScaleSetOSDisk
*
* @returns {object} metadata of VirtualMachineScaleSetOSDisk
*
*/
mapper() {
return {
required: false,
serializedName: 'VirtualMachineScaleSetOSDisk',
type: {
name: 'Composite',
className: 'VirtualMachineScaleSetOSDisk',
modelProperties: {
name: {
required: false,
serializedName: 'name',
type: {
name: 'String'
}
},
caching: {
required: false,
serializedName: 'caching',
type: {
name: 'Enum',
allowedValues: [ 'None', 'ReadOnly', 'ReadWrite' ]
}
},
createOption: {
required: true,
serializedName: 'createOption',
type: {
name: 'Enum',
allowedValues: [ 'fromImage', 'empty', 'attach' ]
}
},
osType: {
required: false,
serializedName: 'osType',
type: {
name: 'Enum',
allowedValues: [ 'Windows', 'Linux' ]
}
},
image: {
required: false,
serializedName: 'image',
type: {
name: 'Composite',
className: 'VirtualHardDisk'
}
},
vhdContainers: {
required: false,
serializedName: 'vhdContainers',
type: {
name: 'Sequence',
element: {
required: false,
serializedName: 'StringElementType',
type: {
name: 'String'
}
}
}
},
managedDisk: {
required: false,
serializedName: 'managedDisk',
type: {
name: 'Composite',
className: 'VirtualMachineScaleSetManagedDiskParameters'
}
}
}
}
};
}
}
module.exports = VirtualMachineScaleSetOSDisk;