azure-cli
Version:
Microsoft Azure Cross Platform Command Line tool
139 lines (133 loc) • 4.57 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 data disk.
*
*/
class DataDisk {
/**
* Create a DataDisk.
* @member {number} lun Specifies the logical unit number of the data disk.
* This value is used to identify data disks within the VM and therefore must
* be unique for each data disk attached to a VM.
* @member {string} [name] The disk name.
* @member {object} [vhd] The virtual hard disk.
* @member {string} [vhd.uri] Specifies the virtual hard disk's uri.
* @member {object} [image] The source user image virtual hard disk. The
* virtual hard disk will be copied before being attached to the virtual
* machine. If SourceImage is provided, the destination virtual hard drive
* must not exist.
* @member {string} [image.uri] Specifies the virtual hard disk's uri.
* @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 machine should be
* created.<br><br> Possible values are:<br><br> **Attach** \u2013 This value
* is used when you are using a specialized disk to create the virtual
* machine.<br><br> **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 {number} [diskSizeGB] Specifies the size of an empty data disk in
* gigabytes. This element can be used to overwrite the name of the disk in a
* virtual machine image. <br><br> This value cannot be larger than 1023 GB
* @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 DataDisk
*
* @returns {object} metadata of DataDisk
*
*/
mapper() {
return {
required: false,
serializedName: 'DataDisk',
type: {
name: 'Composite',
className: 'DataDisk',
modelProperties: {
lun: {
required: true,
serializedName: 'lun',
type: {
name: 'Number'
}
},
name: {
required: false,
serializedName: 'name',
type: {
name: 'String'
}
},
vhd: {
required: false,
serializedName: 'vhd',
type: {
name: 'Composite',
className: 'VirtualHardDisk'
}
},
image: {
required: false,
serializedName: 'image',
type: {
name: 'Composite',
className: 'VirtualHardDisk'
}
},
caching: {
required: false,
serializedName: 'caching',
type: {
name: 'Enum',
allowedValues: [ 'None', 'ReadOnly', 'ReadWrite' ]
}
},
createOption: {
required: true,
serializedName: 'createOption',
type: {
name: 'Enum',
allowedValues: [ 'fromImage', 'empty', 'attach' ]
}
},
diskSizeGB: {
required: false,
serializedName: 'diskSizeGB',
type: {
name: 'Number'
}
},
managedDisk: {
required: false,
serializedName: 'managedDisk',
type: {
name: 'Composite',
className: 'ManagedDiskParameters'
}
}
}
}
};
}
}
module.exports = DataDisk;