UNPKG

azure-cli

Version:

Microsoft Azure Cross Platform Command Line tool

184 lines (178 loc) 7.98 kB
/* * 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. */ 'use strict'; 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;