import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface extensionsChild { type: Expressionable<('extensions')>; apiVersion: Expressionable<('2015-05-01-preview' | '2015-06-15' | '2016-03-30')>; properties: Expressionable; } export interface id { id: Expressionable; } export interface networkInterfaces { id: Expressionable; properties?: Expressionable; } export interface hardwareProfile { vmSize: Expressionable; } export interface imageReference { publisher: Expressionable; offer: Expressionable; sku: Expressionable; version: Expressionable; } export interface vhd { uri: Expressionable; } export interface osDisk { name: Expressionable; vhd: Expressionable; image?: Expressionable; caching?: Expressionable; createOption: Expressionable<('FromImage' | 'Empty' | 'Attach')>; } export interface vhdUri { uri: Expressionable; } export interface dataDisk { name: Expressionable; diskSizeGB?: Expressionable; lun: Expressionable; vhd: Expressionable; caching?: Expressionable; createOption: Expressionable<('FromImage' | 'Empty' | 'Attach')>; } export interface storageProfile { imageReference?: Expressionable; osDisk: Expressionable; dataDisks?: Expressionable; } export interface winRMListener { protocol: Expressionable<('Http' | 'Https')>; certificateUrl: Expressionable; } export interface winRM { listeners: Expressionable; } export interface additionalUnattendContent { pass: Expressionable; component: Expressionable; settingName: Expressionable; content: Expressionable; } export interface windowsConfiguration { provisionVMAgent?: Expressionable; winRM?: Expressionable; additionalUnattendContent?: Expressionable; enableAutomaticUpdates?: Expressionable; timeZone?: Expressionable; } export interface publicKey { path?: Expressionable; keyData?: Expressionable; } export interface ssh { publicKeys?: Expressionable; } export interface linuxConfiguration { disablePasswordAuthentication?: Expressionable; ssh?: Expressionable; } export interface vaultCertificateUrl { certificateUrl: Expressionable; } export interface secret { sourceVault: Expressionable; vaultCertificates: Expressionable; } export interface osProfile { computerName: Expressionable; adminUsername: Expressionable; adminPassword: Expressionable; customData?: Expressionable; windowsConfiguration?: Expressionable; linuxConfiguration?: Expressionable; secrets?: Expressionable; } export interface networkProfile { networkInterfaces: Expressionable; } export interface sku { name: Expressionable; tier?: Expressionable; capacity: Expressionable; } export interface upgradePolicy { mode: Expressionable; } export interface virtualMachineScaleSetOsProfile { computerNamePrefix: Expressionable; adminUsername: Expressionable; adminPassword: Expressionable; customData?: Expressionable; windowsConfiguration?: Expressionable; linuxConfiguration?: Expressionable; secrets?: Expressionable; } export interface virtualMachineScaleSetOSDisk { osType?: Expressionable; name: Expressionable; vhdContainers?: Expressionable; caching?: Expressionable; createOption: Expressionable<('FromImage' | 'Empty' | 'Attach')>; } export interface virtualMachineScaleSetStorageProfile { imageReference?: Expressionable; osDisk: Expressionable; } export interface virtualMachineScaleSetExtension { name?: Expressionable; properties?: Expressionable; } export interface virtualMachineScaleSetExtensionProfile { extensions?: Expressionable; } export interface ipConfiguration { name: Expressionable; properties?: Expressionable; } export interface networkInterfaceConfiguration { name: Expressionable; properties: Expressionable; } export interface virtualMachineScaleSetNetworkProfile { networkInterfaceConfigurations: Expressionable; } export interface virtualMachineProfile { osProfile: Expressionable; storageProfile: Expressionable; extensionProfile?: Expressionable; networkProfile: Expressionable; } export interface genericExtension { publisher: Expressionable; type: Expressionable; typeHandlerVersion: Expressionable; } export interface iaaSDiagnostics { publisher: Expressionable<('Microsoft.Azure.Diagnostics')>; type: Expressionable<('IaaSDiagnostics')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface iaaSAntimalware { publisher: Expressionable<('Microsoft.Azure.Security')>; type: Expressionable<('IaaSAntimalware')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; } export interface customScriptExtension { publisher: Expressionable<('Microsoft.Compute')>; type: Expressionable<('CustomScriptExtension')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface customScriptForLinux { publisher: Expressionable<('Microsoft.OSTCExtensions')>; type: Expressionable<('CustomScriptForLinux')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface linuxDiagnostic { publisher: Expressionable<('Microsoft.OSTCExtensions')>; type: Expressionable<('LinuxDiagnostic')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface vmAccessForLinux { publisher: Expressionable<('Microsoft.OSTCExtensions')>; type: Expressionable<('VMAccessForLinux')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface bgInfo { publisher: Expressionable<('Microsoft.Compute')>; type: Expressionable<('bginfo')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; } export interface vmAccessAgent { publisher: Expressionable<('Microsoft.Compute')>; type: Expressionable<('VMAccessAgent')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface dscExtension { publisher: Expressionable<('Microsoft.Powershell')>; type: Expressionable<('DSC')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface acronisBackupLinux { publisher: Expressionable<('Acronis.Backup')>; type: Expressionable<('AcronisBackupLinux')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface acronisBackup { publisher: Expressionable<('Acronis.Backup')>; type: Expressionable<('AcronisBackup')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface linuxChefClient { publisher: Expressionable<('Chef.Bootstrap.WindowsAzure')>; type: Expressionable<('LinuxChefClient')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface chefClient { publisher: Expressionable<('Chef.Bootstrap.WindowsAzure')>; type: Expressionable<('ChefClient')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface datadogLinuxAgent { publisher: Expressionable<('Datadog.Agent')>; type: Expressionable<('DatadogLinuxAgent')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; } export interface datadogWindowsAgent { publisher: Expressionable<('Datadog.Agent')>; type: Expressionable<('DatadogWindowsAgent')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; } export interface dockerExtension { publisher: Expressionable<('Microsoft.Azure.Extensions')>; type: Expressionable<('DockerExtension')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface dynatraceLinux { publisher: Expressionable<('dynatrace.ruxit')>; type: Expressionable<('ruxitAgentLinux')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; } export interface dynatraceWindows { publisher: Expressionable<('dynatrace.ruxit')>; type: Expressionable<('ruxitAgentWindows')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; } export interface eset { publisher: Expressionable<('ESET')>; type: Expressionable<('FileSecurity')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; } export interface hpeSecurityApplicationDefender { publisher: Expressionable<('HPE.Security.ApplicationDefender')>; type: Expressionable<('DotnetAgent')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; protectedSettings: Expressionable; } export interface puppetAgent { publisher: Expressionable<('Puppet')>; type: Expressionable<('PuppetAgent')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; protectedSettings: Expressionable; } export interface site24x7LinuxServerExtn { publisher: Expressionable<('Site24x7')>; type: Expressionable<('Site24x7LinuxServerExtn')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface site24x7WindowsServerExtn { publisher: Expressionable<('Site24x7')>; type: Expressionable<('Site24x7WindowsServerExtn')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface site24x7ApmInsightExtn { publisher: Expressionable<('Site24x7')>; type: Expressionable<('Site24x7ApmInsightExtn')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface trendMicroDSALinux { publisher: Expressionable<('TrendMicro.DeepSecurity')>; type: Expressionable<('TrendMicroDSALinux')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface trendMicroDSA { publisher: Expressionable<('TrendMicro.DeepSecurity')>; type: Expressionable<('TrendMicroDSA')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface bmcCtmAgentLinux { publisher: Expressionable<('ctm.bmc.com')>; type: Expressionable<('BmcCtmAgentLinux')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; } export interface bmcCtmAgentWindows { publisher: Expressionable<('bmc.ctm')>; type: Expressionable<('AgentWinExt')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; } export interface OSPatchingForLinux { publisher: Expressionable<('Microsoft.OSTCExtensions')>; type: Expressionable<('OSPatchingForLinux')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface VMSnapshot { publisher: Expressionable<('Microsoft.Azure.RecoveryServices')>; type: Expressionable<('VMSnapshot')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; } export interface VMSnapshotLinux { publisher: Expressionable<('Microsoft.Azure.RecoveryServices')>; type: Expressionable<('VMSnapshotLinux')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; } export interface customScript { publisher: Expressionable<('Microsoft.Azure.Extensions')>; type: Expressionable<('CustomScript')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; settings: Expressionable; protectedSettings: Expressionable; } export interface networkWatcherAgentWindows { publisher: Expressionable<('Microsoft.Azure.NetworkWatcher')>; type: Expressionable<('NetworkWatcherAgentWindows')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; } export interface networkWatcherAgentLinux { publisher: Expressionable<('Microsoft.Azure.NetworkWatcher')>; type: Expressionable<('NetworkWatcherAgentLinux')>; typeHandlerVersion: Expressionable; autoUpgradeMinorVersion: Expressionable; } export declare namespace availabilitySets { type AvailabilitySetsResource = ResourceDefinition; function create(name: Expressionable, properties: any): AvailabilitySetsResource; } export declare namespace virtualMachines { type VirtualMachinesResource = ResourceDefinition; function create(name: Expressionable, properties: any): VirtualMachinesResource; } export declare namespace virtualMachineScaleSets { interface AdditionalProps { sku: Expressionable; } type VirtualMachineScaleSetsResource = ResourceDefinition; function create(name: Expressionable, properties: any, sku: Expressionable): VirtualMachineScaleSetsResource; } export declare namespace virtualMachines { namespace extensions { type ExtensionsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: any): ExtensionsResource; } }