UNPKG

@pulumi/azure-native

Version:

[![Slack](http://www.pulumi.com/images/docs/badges/slack.svg)](https://slack.pulumi.com) [![NPM version](https://badge.fury.io/js/%40pulumi%2Fazure-native.svg)](https://npmjs.com/package/@pulumi/azure-native) [![Python version](https://badge.fury.io/py/pu

748 lines (747 loc) • 26.4 kB
export declare const AcceleratorManufacturer: { /** * AMD GpuType */ readonly AMD: "AMD"; /** * Nvidia GpuType */ readonly Nvidia: "Nvidia"; /** * Xilinx GpuType */ readonly Xilinx: "Xilinx"; }; /** * Accelerator manufacturers supported by Azure VMs. */ export type AcceleratorManufacturer = (typeof AcceleratorManufacturer)[keyof typeof AcceleratorManufacturer]; export declare const AcceleratorType: { /** * GPU Accelerator */ readonly GPU: "GPU"; /** * FPGA Accelerator */ readonly FPGA: "FPGA"; }; /** * Accelerator types supported by Azure VMs. */ export type AcceleratorType = (typeof AcceleratorType)[keyof typeof AcceleratorType]; export declare const ArchitectureType: { /** * ARM64 Architecture */ readonly ARM64: "ARM64"; /** * X64 Architecture */ readonly X64: "X64"; }; /** * Architecture types supported by Azure VMs. */ export type ArchitectureType = (typeof ArchitectureType)[keyof typeof ArchitectureType]; export declare const CachingTypes: { /** * 'None' is default for Standard Storage */ readonly None: "None"; /** * 'ReadOnly' is default for Premium Storage */ readonly ReadOnly: "ReadOnly"; /** * 'ReadWrite' is default for OS Disk */ readonly ReadWrite: "ReadWrite"; }; /** * Specifies the caching requirements. Possible values are: **None,** * **ReadOnly,** **ReadWrite.** The default values are: **None for Standard * storage. ReadOnly for Premium storage.** */ export type CachingTypes = (typeof CachingTypes)[keyof typeof CachingTypes]; export declare const ComponentName: { readonly Microsoft_Windows_Shell_Setup: "Microsoft-Windows-Shell-Setup"; }; /** * The component name. Currently, the only allowable value is * Microsoft-Windows-Shell-Setup. */ export type ComponentName = (typeof ComponentName)[keyof typeof ComponentName]; export declare const CpuManufacturer: { /** * Intel CPU. */ readonly Intel: "Intel"; /** * AMD CPU. */ readonly AMD: "AMD"; /** * Microsoft CPU. */ readonly Microsoft: "Microsoft"; /** * Ampere CPU. */ readonly Ampere: "Ampere"; }; /** * Cpu Manufacturers supported by Azure VMs. */ export type CpuManufacturer = (typeof CpuManufacturer)[keyof typeof CpuManufacturer]; export declare const DeleteOptions: { /** * Delete Option */ readonly Delete: "Delete"; /** * Detach Option */ readonly Detach: "Detach"; }; /** * Specify what happens to the public IP when the VM is deleted */ export type DeleteOptions = (typeof DeleteOptions)[keyof typeof DeleteOptions]; export declare const DiffDiskOptions: { /** * Local Option. */ readonly Local: "Local"; }; /** * Specifies the ephemeral disk settings for operating system disk. */ export type DiffDiskOptions = (typeof DiffDiskOptions)[keyof typeof DiffDiskOptions]; export declare const DiffDiskPlacement: { /** * CacheDisk option. */ readonly CacheDisk: "CacheDisk"; /** * Resource Disk option. */ readonly ResourceDisk: "ResourceDisk"; /** * NvmeDisk option. */ readonly NvmeDisk: "NvmeDisk"; }; /** * Specifies the ephemeral disk placement for operating system disk. Possible * values are: **CacheDisk,** **ResourceDisk.** The defaulting behavior is: * **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** * is used. Refer to the VM size documentation for Windows VM at * https://learn.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at * https://learn.microsoft.com/azure/virtual-machines/linux/sizes to check which VM * sizes exposes a cache disk. */ export type DiffDiskPlacement = (typeof DiffDiskPlacement)[keyof typeof DiffDiskPlacement]; export declare const DiskControllerTypes: { /** * SCSI disk type */ readonly SCSI: "SCSI"; /** * NVMe disk type */ readonly NVMe: "NVMe"; }; /** * Specifies the disk controller type configured for the virtual machines in the scale set. Minimum api-version: 2022-08-01 */ export type DiskControllerTypes = (typeof DiskControllerTypes)[keyof typeof DiskControllerTypes]; export declare const DiskCreateOptionTypes: { /** * 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. */ readonly FromImage: "FromImage"; /** * This value is used when creating an empty data disk. */ readonly Empty: "Empty"; /** * This value is used when you are using a specialized disk to create the virtual machine. */ readonly Attach: "Attach"; /** * This value is used to create a data disk from a snapshot or another disk. */ readonly Copy: "Copy"; /** * This value is used to create a data disk from a disk restore point. */ readonly Restore: "Restore"; }; /** * Specifies how the virtual machines in the scale set should be created. The only * allowed value is: **FromImage.** 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. */ export type DiskCreateOptionTypes = (typeof DiskCreateOptionTypes)[keyof typeof DiskCreateOptionTypes]; export declare const DiskDeleteOptionTypes: { /** * If this value is used, the managed disk is deleted when VM gets deleted. */ readonly Delete: "Delete"; /** * If this value is used, the managed disk is retained after VM gets deleted. */ readonly Detach: "Detach"; }; /** * Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion * (This feature is available for VMSS with Flexible OrchestrationMode only). * <br><br> Possible values: <br><br> **Delete** If this value is used, the OS * disk is deleted when VMSS Flex VM is deleted.<br><br> **Detach** If this value * is used, the OS disk is retained after VMSS Flex VM is deleted. <br><br> The * default value is set to **Delete**. For an Ephemeral OS Disk, the default value * is set to **Delete**. User cannot change the delete option for Ephemeral OS * Disk. */ export type DiskDeleteOptionTypes = (typeof DiskDeleteOptionTypes)[keyof typeof DiskDeleteOptionTypes]; export declare const DomainNameLabelScopeTypes: { /** * TenantReuse type */ readonly TenantReuse: "TenantReuse"; /** * SubscriptionReuse type */ readonly SubscriptionReuse: "SubscriptionReuse"; /** * ResourceGroupReuse type */ readonly ResourceGroupReuse: "ResourceGroupReuse"; /** * NoReuse type */ readonly NoReuse: "NoReuse"; }; /** * The Domain name label scope.The concatenation of the hashed domain name label * that generated according to the policy from domain name label scope and vm * index will be the domain name labels of the PublicIPAddress resources that will * be created */ export type DomainNameLabelScopeTypes = (typeof DomainNameLabelScopeTypes)[keyof typeof DomainNameLabelScopeTypes]; export declare const EvictionPolicy: { /** * When evicted, the Spot VM will be deleted and the corresponding capacity will be updated to reflect this. */ readonly Delete: "Delete"; /** * When evicted, the Spot VM will be deallocated/stopped */ readonly Deallocate: "Deallocate"; }; /** * Eviction Policy to follow when evicting Spot VMs. */ export type EvictionPolicy = (typeof EvictionPolicy)[keyof typeof EvictionPolicy]; export declare const IPVersion: { /** * IPv4 version */ readonly IPv4: "IPv4"; /** * IPv6 version */ readonly IPv6: "IPv6"; }; /** * Available from Api-Version 2019-07-01 onwards, it represents whether the * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible * values are: 'IPv4' and 'IPv6'. */ export type IPVersion = (typeof IPVersion)[keyof typeof IPVersion]; export declare const LinuxPatchAssessmentMode: { /** * You control the timing of patch assessments on a virtual machine. */ readonly ImageDefault: "ImageDefault"; /** * The platform will trigger periodic patch assessments.The property provisionVMAgent must be true. */ readonly AutomaticByPlatform: "AutomaticByPlatform"; }; /** * Specifies the mode of VM Guest Patch Assessment for the IaaS virtual * machine.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - You * control the timing of patch assessments on a virtual machine. <br /><br /> * **AutomaticByPlatform** - The platform will trigger periodic patch assessments. * The property provisionVMAgent must be true. */ export type LinuxPatchAssessmentMode = (typeof LinuxPatchAssessmentMode)[keyof typeof LinuxPatchAssessmentMode]; export declare const LinuxVMGuestPatchAutomaticByPlatformRebootSetting: { /** * Unknown Reboot setting */ readonly Unknown: "Unknown"; /** * IfRequired Reboot setting */ readonly IfRequired: "IfRequired"; /** * Never Reboot setting */ readonly Never: "Never"; /** * Always Reboot setting */ readonly Always: "Always"; }; /** * Specifies the reboot setting for all AutomaticByPlatform patch installation * operations. */ export type LinuxVMGuestPatchAutomaticByPlatformRebootSetting = (typeof LinuxVMGuestPatchAutomaticByPlatformRebootSetting)[keyof typeof LinuxVMGuestPatchAutomaticByPlatformRebootSetting]; export declare const LinuxVMGuestPatchMode: { /** * The virtual machine's default patching configuration is used. */ readonly ImageDefault: "ImageDefault"; /** * The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true. */ readonly AutomaticByPlatform: "AutomaticByPlatform"; }; /** * Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual * machines associated to virtual machine scale set with OrchestrationMode as * Flexible.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - The * virtual machine's default patching configuration is used. <br /><br /> * **AutomaticByPlatform** - The virtual machine will be automatically updated by * the platform. The property provisionVMAgent must be true */ export type LinuxVMGuestPatchMode = (typeof LinuxVMGuestPatchMode)[keyof typeof LinuxVMGuestPatchMode]; export declare const LocalStorageDiskType: { /** * HDD DiskType. */ readonly HDD: "HDD"; /** * SDD DiskType. */ readonly SSD: "SSD"; }; /** * Different kind of Local storage disk types supported by Azure VMs. */ export type LocalStorageDiskType = (typeof LocalStorageDiskType)[keyof typeof LocalStorageDiskType]; export declare const ManagedServiceIdentityType: { readonly None: "None"; readonly SystemAssigned: "SystemAssigned"; readonly UserAssigned: "UserAssigned"; readonly SystemAssigned_UserAssigned: "SystemAssigned,UserAssigned"; }; /** * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). */ export type ManagedServiceIdentityType = (typeof ManagedServiceIdentityType)[keyof typeof ManagedServiceIdentityType]; export declare const Mode: { /** * Audit Mode */ readonly Audit: "Audit"; /** * Enforce Mode */ readonly Enforce: "Enforce"; }; /** * Specifies the mode that ProxyAgent will execute on if the feature is enabled. * ProxyAgent will start to audit or monitor but not enforce access control over * requests to host endpoints in Audit mode, while in Enforce mode it will enforce * access control. The default value is Enforce mode. */ export type Mode = (typeof Mode)[keyof typeof Mode]; export declare const NetworkApiVersion: { /** * Initial version supported. Later versions are supported as well. */ readonly V2020_11_01: "2020-11-01"; }; /** * specifies the Microsoft.Network API version used when creating networking * resources in the Network Interface Configurations for Virtual Machine Scale Set * with orchestration mode 'Flexible' */ export type NetworkApiVersion = (typeof NetworkApiVersion)[keyof typeof NetworkApiVersion]; export declare const NetworkInterfaceAuxiliaryMode: { /** * None Mode */ readonly None: "None"; /** * AcceleratedConnections Mode */ readonly AcceleratedConnections: "AcceleratedConnections"; /** * Floating Mode */ readonly Floating: "Floating"; }; /** * Specifies whether the Auxiliary mode is enabled for the Network Interface * resource. */ export type NetworkInterfaceAuxiliaryMode = (typeof NetworkInterfaceAuxiliaryMode)[keyof typeof NetworkInterfaceAuxiliaryMode]; export declare const NetworkInterfaceAuxiliarySku: { /** * no sku */ readonly None: "None"; /** * A1 sku */ readonly A1: "A1"; /** * A2 sku */ readonly A2: "A2"; /** * A4 sku */ readonly A4: "A4"; /** * A8 sku */ readonly A8: "A8"; }; /** * Specifies whether the Auxiliary sku is enabled for the Network Interface * resource. */ export type NetworkInterfaceAuxiliarySku = (typeof NetworkInterfaceAuxiliarySku)[keyof typeof NetworkInterfaceAuxiliarySku]; export declare const OperatingSystemTypes: { /** * Windows OS type */ readonly Windows: "Windows"; /** * Linux OS type */ readonly Linux: "Linux"; }; /** * 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. Possible values * are: **Windows,** **Linux.** */ export type OperatingSystemTypes = (typeof OperatingSystemTypes)[keyof typeof OperatingSystemTypes]; export declare const PassName: { readonly OobeSystem: "OobeSystem"; }; /** * The pass name. Currently, the only allowable value is OobeSystem. */ export type PassName = (typeof PassName)[keyof typeof PassName]; export declare const ProtocolTypes: { /** * Http protocol */ readonly Http: "Http"; /** * Https protocol */ readonly Https: "Https"; }; /** * Specifies the protocol of WinRM listener. Possible values are: **http,** * **https.** */ export type ProtocolTypes = (typeof ProtocolTypes)[keyof typeof ProtocolTypes]; export declare const PublicIPAddressSkuName: { /** * Basic sku name */ readonly Basic: "Basic"; /** * Standard sku name */ readonly Standard: "Standard"; }; /** * Specify public IP sku name */ export type PublicIPAddressSkuName = (typeof PublicIPAddressSkuName)[keyof typeof PublicIPAddressSkuName]; export declare const PublicIPAddressSkuTier: { /** * Regional sku tier */ readonly Regional: "Regional"; /** * Global sku tier */ readonly Global: "Global"; }; /** * Specify public IP sku tier */ export type PublicIPAddressSkuTier = (typeof PublicIPAddressSkuTier)[keyof typeof PublicIPAddressSkuTier]; export declare const RegularPriorityAllocationStrategy: { /** * Default. VM sizes distribution will be determined to optimize for price. */ readonly LowestPrice: "LowestPrice"; /** * VM sizes distribution will be determined to optimize for the 'priority' as specified for each vm size. */ readonly Prioritized: "Prioritized"; }; /** * Allocation strategy to follow when determining the VM sizes distribution for Regular VMs. */ export type RegularPriorityAllocationStrategy = (typeof RegularPriorityAllocationStrategy)[keyof typeof RegularPriorityAllocationStrategy]; export declare const SecurityEncryptionTypes: { /** * EncryptionType of the managed disk is set to VMGuestStateOnly for encryption * of just the VMGuestState blob. */ readonly VMGuestStateOnly: "VMGuestStateOnly"; /** * EncryptionType of the managed disk is set to DiskWithVMGuestState for encryption * of the managed disk along with VMGuestState blob. */ readonly DiskWithVMGuestState: "DiskWithVMGuestState"; /** * EncryptionType of the managed disk is set to NonPersistedTPM for not persisting * firmware state in the VMGuestState blob. */ readonly NonPersistedTPM: "NonPersistedTPM"; }; /** * Specifies the EncryptionType of the managed disk. It is set to * DiskWithVMGuestState for encryption of the managed disk along with VMGuestState * blob, VMGuestStateOnly for encryption of just the VMGuestState blob, and * NonPersistedTPM for not persisting firmware state in the VMGuestState blob.. * **Note:** It can be set for only Confidential VMs. */ export type SecurityEncryptionTypes = (typeof SecurityEncryptionTypes)[keyof typeof SecurityEncryptionTypes]; export declare const SecurityTypes: { /** * TrustedLaunch security type */ readonly TrustedLaunch: "TrustedLaunch"; /** * ConfidentialVM security type */ readonly ConfidentialVM: "ConfidentialVM"; }; /** * Specifies the SecurityType of the virtual machine. It has to be set to any * specified value to enable UefiSettings. The default behavior is: UefiSettings * will not be enabled unless this property is set. */ export type SecurityTypes = (typeof SecurityTypes)[keyof typeof SecurityTypes]; export declare const SettingNames: { /** * AutoLogon setting */ readonly AutoLogon: "AutoLogon"; /** * FirstLogonCommands setting */ readonly FirstLogonCommands: "FirstLogonCommands"; }; /** * Specifies the name of the setting to which the content applies. Possible values * are: FirstLogonCommands and AutoLogon. */ export type SettingNames = (typeof SettingNames)[keyof typeof SettingNames]; export declare const SpotAllocationStrategy: { /** * Default. VM sizes distribution will be determined to optimize for both price and capacity. */ readonly PriceCapacityOptimized: "PriceCapacityOptimized"; /** * VM sizes distribution will be determined to optimize for price. Note: Capacity will still be considered here but will be given much less weight. */ readonly LowestPrice: "LowestPrice"; /** * VM sizes distribution will be determined to optimize for capacity. */ readonly CapacityOptimized: "CapacityOptimized"; }; /** * Allocation strategy to follow when determining the VM sizes distribution for Spot VMs. */ export type SpotAllocationStrategy = (typeof SpotAllocationStrategy)[keyof typeof SpotAllocationStrategy]; export declare const StorageAccountTypes: { /** * Standard_LRS option. */ readonly Standard_LRS: "Standard_LRS"; /** * Premium_LRS option. */ readonly Premium_LRS: "Premium_LRS"; /** * StandardSSD_LRS option. */ readonly StandardSSD_LRS: "StandardSSD_LRS"; /** * UltraSSD_LRS option. */ readonly UltraSSD_LRS: "UltraSSD_LRS"; /** * Premium_ZRS option. */ readonly Premium_ZRS: "Premium_ZRS"; /** * StandardSSD_ZRS option. */ readonly StandardSSD_ZRS: "StandardSSD_ZRS"; /** * PremiumV2_LRS option. */ readonly PremiumV2_LRS: "PremiumV2_LRS"; }; /** * Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can * only be used with data disks, it cannot be used with OS Disk. */ export type StorageAccountTypes = (typeof StorageAccountTypes)[keyof typeof StorageAccountTypes]; export declare const VMAttributeSupport: { /** * All VMSizes having the feature support will be excluded. */ readonly Excluded: "Excluded"; /** * VMSizes that have the feature support and that do not have the feature support will be used. Included is a union of Excluded and Required. */ readonly Included: "Included"; /** * Only the VMSizes having the feature support will be used. */ readonly Required: "Required"; }; /** * Specifies whether the VMSize supporting RDMA (Remote Direct Memory Access) should be used to build Fleet or not. */ export type VMAttributeSupport = (typeof VMAttributeSupport)[keyof typeof VMAttributeSupport]; export declare const VMCategory: { /** * General purpose VM sizes provide balanced CPU-to-memory ratio. Ideal for testing and development, small to medium databases, and low to medium traffic web servers. */ readonly GeneralPurpose: "GeneralPurpose"; /** * Compute optimized VM sizes have a high CPU-to-memory ratio. These sizes are good for medium traffic web servers, network appliances, batch processes, and application servers. */ readonly ComputeOptimized: "ComputeOptimized"; /** * Memory optimized VM sizes offer a high memory-to-CPU ratio that is great for relational database servers, medium to large caches, and in-memory analytics. */ readonly MemoryOptimized: "MemoryOptimized"; /** * Storage optimized virtual machine (VM) sizes offer high disk throughput and IO, and are ideal for Big Data, SQL, NoSQL databases, data warehousing, and large transactional databases. * Examples include Cassandra, MongoDB, Cloudera, and Redis. */ readonly StorageOptimized: "StorageOptimized"; /** * GPU optimized VM sizes are specialized virtual machines available with single, multiple, or fractional GPUs. * These sizes are designed for compute-intensive, graphics-intensive, and visualization workloads. */ readonly GpuAccelerated: "GpuAccelerated"; /** * FPGA optimized VM sizes are specialized virtual machines available with single or multiple FPGA. * These sizes are designed for compute-intensive workloads. This article provides information about the number and type of FPGA, vCPUs, data disks, and NICs. * Storage throughput and network bandwidth are also included for each size in this grouping. */ readonly FpgaAccelerated: "FpgaAccelerated"; /** * Azure High Performance Compute VMs are optimized for various HPC workloads such as computational fluid dynamics, finite element analysis, frontend and backend EDA, * rendering, molecular dynamics, computational geo science, weather simulation, and financial risk analysis. */ readonly HighPerformanceCompute: "HighPerformanceCompute"; }; /** * VMCategories defined for Azure VMs. * See: https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/overview?tabs=breakdownseries%2Cgeneralsizelist%2Ccomputesizelist%2Cmemorysizelist%2Cstoragesizelist%2Cgpusizelist%2Cfpgasizelist%2Chpcsizelist#general-purpose */ export type VMCategory = (typeof VMCategory)[keyof typeof VMCategory]; export declare const WindowsPatchAssessmentMode: { /** * You control the timing of patch assessments on a virtual machine. */ readonly ImageDefault: "ImageDefault"; /** * The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. */ readonly AutomaticByPlatform: "AutomaticByPlatform"; }; /** * Specifies the mode of VM Guest patch assessment for the IaaS virtual * machine.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - You * control the timing of patch assessments on a virtual machine.<br /><br /> * **AutomaticByPlatform** - The platform will trigger periodic patch assessments. * The property provisionVMAgent must be true. */ export type WindowsPatchAssessmentMode = (typeof WindowsPatchAssessmentMode)[keyof typeof WindowsPatchAssessmentMode]; export declare const WindowsVMGuestPatchAutomaticByPlatformRebootSetting: { /** * Unknown Reboot setting */ readonly Unknown: "Unknown"; /** * IfRequired Reboot setting */ readonly IfRequired: "IfRequired"; /** * Never Reboot setting */ readonly Never: "Never"; /** * Always Reboot setting */ readonly Always: "Always"; }; /** * Specifies the reboot setting for all AutomaticByPlatform patch installation * operations. */ export type WindowsVMGuestPatchAutomaticByPlatformRebootSetting = (typeof WindowsVMGuestPatchAutomaticByPlatformRebootSetting)[keyof typeof WindowsVMGuestPatchAutomaticByPlatformRebootSetting]; export declare const WindowsVMGuestPatchMode: { /** * You control the application of patches to a virtual machine. * You do this by applying patches manually inside the VM. In this mode, * automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates * must be false */ readonly Manual: "Manual"; /** * The virtual machine will automatically be updated by the OS. * The property WindowsConfiguration.enableAutomaticUpdates must be true. */ readonly AutomaticByOS: "AutomaticByOS"; /** * The virtual machine will automatically updated by the platform. The properties * provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true. */ readonly AutomaticByPlatform: "AutomaticByPlatform"; }; /** * Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual * machines associated to virtual machine scale set with OrchestrationMode as * Flexible.<br /><br /> Possible values are:<br /><br /> **Manual** - You * control the application of patches to a virtual machine. You do this by * applying patches manually inside the VM. In this mode, automatic updates are * disabled; the property WindowsConfiguration.enableAutomaticUpdates must be * false<br /><br /> **AutomaticByOS** - The virtual machine will automatically be * updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates * must be true. <br /><br /> **AutomaticByPlatform** - the virtual machine will * automatically updated by the platform. The properties provisionVMAgent and * WindowsConfiguration.enableAutomaticUpdates must be true */ export type WindowsVMGuestPatchMode = (typeof WindowsVMGuestPatchMode)[keyof typeof WindowsVMGuestPatchMode];