DSCResources/DSC_VMHyperV/DSC_VMHyperV.schema.mof

[ClassVersion("1.0.0"), FriendlyName("VMHyperV")]
class DSC_VMHyperV : OMI_BaseResource
{
    [Key, Description("The desired name of the VM.")] String Name;
    [Required, Description("The desired VHD associated with the VM.")] String VhdPath;
    [Write, Description("Virtual switch(es) associated with the VM. Multiple NICs can now be assigned.")] String SwitchName[];
    [Write, Description("State of the VM."), ValueMap{"Running","Paused","Off"}, Values{"Running","Paused","Off"}] String State;
    [Write, Description("Folder where the VM data will be stored.")] String Path;
    [Write, Description("Virtual machine's generation. Generation 2 virtual machines **only** support VHDX files. The default value is `1`.")] Uint32 Generation;
    [Write, Description("Startup RAM for the VM. If neither MinimumMemory nor MaximumMemory is specified, dynamic memory will be disabled.")] Uint64 StartupMemory;
    [Write, Description("Minimum RAM for the VM. Setting this property enables dynamic memory, with the exception; If MinimumMemory, MaximumMemory and StartupMemory is equal, dynamic memory will be disabled.")] Uint64 MinimumMemory;
    [Write, Description("Maximum RAM for the VM. Setting this property enables dynamic memory, with the exception; If MinimumMemory, MaximumMemory and StartupMemory is equal, dynamic memory will be disabled.")] Uint64 MaximumMemory;
    [Write, Description("MAC address(es) of the VM NICs. Multiple MAC addresses can now be assigned.")] String MACAddress[];
    [Write, Description("Processor count for the VM.")] Uint32 ProcessorCount;
    [Write, Description("If specified, waits for the VM to get valid IP address.")] Boolean WaitForIP;
    [Write, Description("If specified, will shutdown and restart the VM as needed for property changes.")] Boolean RestartIfNeeded;
    [Write, Description("Specifies if the VM should be Present (created) or Absent (removed). The default value is `Present`."), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] String Ensure;
    [Write, Description("Notes about the VM.")] String Notes;
    [Write, Description("Specifies if Secure Boot should be enabled for Generation 2 virtual machines. **Only supports generation 2 virtual machines**. Default value is `$true`.")] Boolean SecureBoot;
    [Write, Description("Enable Guest Service Interface for the VM. The default value is `$false`.")] Boolean EnableGuestService;
    [Write, Description("Enable AutomaticCheckpoints for the VM.")] Boolean AutomaticCheckpointsEnabled;
    [Read, Description("Returns the unique ID for the VM.")] String ID;
    [Read, Description("Returns the current status of the VM.")] String Status;
    [Read, Description("Returns the current CPU usage of the VM.")] Uint32 CPUUsage;
    [Read, Description("Returns the current memory assigned to the VM.")] Uint64 MemoryAssigned;
    [Read, Description("Returns the uptime of the VM.")] String Uptime;
    [Read, Description("Returns the creation time of the VM.")] DateTime CreationTime;
    [Read, Description("Returns `$true` if the VM has dynamic memory enabled.")] Boolean HasDynamicMemory;
    [Read, Description("Returns the IP addresses of the virtual machine's network adapters.")] String NetworkAdapters[];
};