azure-cli
Version:
Microsoft Azure Cross Platform Command Line tool
184 lines (178 loc) • 7.98 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 virtual machine profile.
*
*/
class VirtualMachineScaleSetUpdateVMProfile {
/**
* Create a VirtualMachineScaleSetUpdateVMProfile.
* @member {object} [osProfile] The virtual machine scale set OS profile.
* @member {string} [osProfile.customData] A base-64 encoded string of custom
* data.
* @member {object} [osProfile.windowsConfiguration] The Windows
* Configuration of the OS profile.
* @member {boolean} [osProfile.windowsConfiguration.provisionVMAgent]
* Indicates whether virtual machine agent should be provisioned on the
* virtual machine. <br><br> When this property is not specified in the
* request body, default behavior is to set it to true. This will ensure
* that VM Agent is installed on the VM so that extensions can be added to
* the VM later.
* @member {boolean} [osProfile.windowsConfiguration.enableAutomaticUpdates]
* Indicates whether virtual machine is enabled for automatic updates.
* @member {string} [osProfile.windowsConfiguration.timeZone] Specifies the
* time zone of the virtual machine. e.g. "Pacific Standard Time"
* @member {array} [osProfile.windowsConfiguration.additionalUnattendContent]
* Specifies additional base-64 encoded XML formatted information that can be
* included in the Unattend.xml file, which is used by Windows Setup.
* @member {object} [osProfile.windowsConfiguration.winRM] Specifies the
* Windows Remote Management listeners. This enables remote Windows
* PowerShell.
* @member {array} [osProfile.windowsConfiguration.winRM.listeners] The list
* of Windows Remote Management listeners
* @member {object} [osProfile.linuxConfiguration] The Linux Configuration of
* the OS profile.
* @member {boolean}
* [osProfile.linuxConfiguration.disablePasswordAuthentication] Specifies
* whether password authentication should be disabled.
* @member {object} [osProfile.linuxConfiguration.ssh] Specifies the ssh key
* configuration for a Linux OS.
* @member {array} [osProfile.linuxConfiguration.ssh.publicKeys] The list of
* SSH public keys used to authenticate with linux based VMs.
* @member {array} [osProfile.secrets] The List of certificates for addition
* to the VM.
* @member {object} [storageProfile] The virtual machine scale set storage
* profile.
* @member {object} [storageProfile.imageReference] The image reference.
* @member {string} [storageProfile.imageReference.publisher] The image
* publisher.
* @member {string} [storageProfile.imageReference.offer] Specifies the offer
* of the platform image or marketplace image used to create the virtual
* machine.
* @member {string} [storageProfile.imageReference.sku] The image SKU.
* @member {string} [storageProfile.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} [storageProfile.osDisk] The OS disk.
* @member {string} [storageProfile.osDisk.caching] The caching type.
* Possible values include: 'None', 'ReadOnly', 'ReadWrite'
* @member {object} [storageProfile.osDisk.image] The Source User Image
* VirtualHardDisk. This VirtualHardDisk will be copied before using it to
* attach to the Virtual Machine. If SourceImage is provided, the destination
* VirtualHardDisk should not exist.
* @member {string} [storageProfile.osDisk.image.uri] Specifies the virtual
* hard disk's uri.
* @member {array} [storageProfile.osDisk.vhdContainers] The list of virtual
* hard disk container uris.
* @member {object} [storageProfile.osDisk.managedDisk] The managed disk
* parameters.
* @member {string} [storageProfile.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} [storageProfile.dataDisks] The data disks.
* @member {object} [networkProfile] The virtual machine scale set network
* profile.
* @member {array} [networkProfile.networkInterfaceConfigurations] The list
* of network configurations.
* @member {object} [diagnosticsProfile] The virtual machine scale set
* diagnostics profile.
* @member {object} [diagnosticsProfile.bootDiagnostics] Boot Diagnostics is
* a debugging feature which allows you to view Console Output and Screenshot
* to diagnose VM status. <br><br> For Linux Virtual Machines, you can easily
* view the output of your console log. <br><br> For both Windows and Linux
* virtual machines, Azure also enables you to see a screenshot of the VM
* from the hypervisor.
* @member {boolean} [diagnosticsProfile.bootDiagnostics.enabled] Whether
* boot diagnostics should be enabled on the Virtual Machine.
* @member {string} [diagnosticsProfile.bootDiagnostics.storageUri] Uri of
* the storage account to use for placing the console output and screenshot.
* @member {object} [extensionProfile] The virtual machine scale set
* extension profile.
* @member {array} [extensionProfile.extensions] The virtual machine scale
* set child extension resources.
* @member {string} [licenseType] The license type, which is for bring your
* own license scenario.
*/
constructor() {
}
/**
* Defines the metadata of VirtualMachineScaleSetUpdateVMProfile
*
* @returns {object} metadata of VirtualMachineScaleSetUpdateVMProfile
*
*/
mapper() {
return {
required: false,
serializedName: 'VirtualMachineScaleSetUpdateVMProfile',
type: {
name: 'Composite',
className: 'VirtualMachineScaleSetUpdateVMProfile',
modelProperties: {
osProfile: {
required: false,
serializedName: 'osProfile',
type: {
name: 'Composite',
className: 'VirtualMachineScaleSetUpdateOSProfile'
}
},
storageProfile: {
required: false,
serializedName: 'storageProfile',
type: {
name: 'Composite',
className: 'VirtualMachineScaleSetUpdateStorageProfile'
}
},
networkProfile: {
required: false,
serializedName: 'networkProfile',
type: {
name: 'Composite',
className: 'VirtualMachineScaleSetUpdateNetworkProfile'
}
},
diagnosticsProfile: {
required: false,
serializedName: 'diagnosticsProfile',
type: {
name: 'Composite',
className: 'DiagnosticsProfile'
}
},
extensionProfile: {
required: false,
serializedName: 'extensionProfile',
type: {
name: 'Composite',
className: 'VirtualMachineScaleSetExtensionProfile'
}
},
licenseType: {
required: false,
serializedName: 'licenseType',
type: {
name: 'String'
}
}
}
}
};
}
}
module.exports = VirtualMachineScaleSetUpdateVMProfile;