{
   "entries":[
      {
         "attribute_name":"pvm_fw_boot_side",
         "possible_values":[
            "Perm",
            "Temp"
         ],
         "default_values":[
            "Temp"
         ],
         "helpText" : "pvm_fw_boot_side",
         "displayName" : "pvm_fw_boot_side"
      },
      {
         "attribute_name":"pvm_pcie_error_inject",
         "possible_values":[
            "Disabled",
            "Enabled"
         ],
         "default_values":[
            "Enabled"
         ],
         "helpText" : "pvm_pcie_error_inject",
         "displayName" : "pvm_pcie_error_inject"
      },
      {
         "attribute_name":"vmi_if0_ipv4_method",
         "possible_values":[
            "IPv4Static",
            "IPv4DHCP"
         ],
         "default_values":[
            "IPv4Static"
         ],
         "helpText" : "vmi_if0_ipv4_method",
         "displayName" : "vmi_if0_ipv4_method"
      },
      {
         "attribute_name":"vmi_if1_ipv4_method",
         "possible_values":[
            "IPv4Static",
            "IPv4DHCP"
         ],
         "default_values":[
            "IPv4Static"
         ],
         "helpText" : "vmi_if1_ipv4_method",
         "displayName" : "vmi_if1_ipv4_method"
      },
      {
         "attribute_name":"vmi_if0_ipv6_method",
         "possible_values":[
            "IPv6Static",
            "IPv6DHCP",
            "SLAAC"
         ],
         "default_values":[
            "IPv6Static"
         ],
         "helpText" : "vmi_if0_ipv6_method",
         "displayName" : "vmi_if0_ipv6_method"
      },
      {
         "attribute_name":"vmi_if1_ipv6_method",
         "possible_values":[
            "IPv6Static",
            "IPv6DHCP",
            "SLAAC"
         ],
         "default_values":[
            "IPv6Static"
         ],
         "helpText" : "vmi_if1_ipv6_method",
         "displayName" : "vmi_if1_ipv6_method"
      },
      {
         "attribute_name":"hb_hyp_switch",
         "possible_values":[
            "PowerVM",
            "OPAL"
         ],
         "default_values":[
            "PowerVM"
         ],
         "helpText" : "Tells the host boot fw which type of hypervisor will be loaded.",
         "displayName" : "hb_hyp_switch",
         "dbus":
            {
             "object_path" : "/com/ibm/host0/hypervisor",
             "interface" : "com.ibm.Host.Target",
             "property_name" : "Target",
             "property_type" : "string",
             "property_values" : ["com.ibm.Host.Target.Hypervisor.PowerVM" , "com.ibm.Host.Target.Hypervisor.OPAL"]
            }
      },
      {
         "attribute_name":"hb_hyp_switch_current",
         "possible_values":[
            "PowerVM",
            "OPAL"
         ],
         "default_values":[
            "PowerVM"
         ],
         "helpText" : "Do not set this attribute directly; set hb_hyp_switch instead.",
         "displayName" : "hb_hyp_switch (current)",
         "readOnly":true
      },
      {
         "attribute_name":"pvm_stop_at_standby",
         "possible_values":[
            "Disabled",
            "Enabled",
            "ManualOnly"
         ],
         "default_values":[
            "Disabled"
         ],
         "helpText" : "Select hypervisor boot policy, requires a reboot for a change to be applied. Disabled: Instructs server not to activate server firmware and partitions for either a user-initated power on or a recovery power on, Enabled: Instructs the server to automatically activate certain partitions for either a user-initated power on or a recovery power on, ManualOnly: Instructs the server to activate server firmware and partitions automatically only in case of a recovery power on after an abnormal termination.",
         "displayName" : "pvm_stop_at_standby",
         "dbus":
            {
               "object_path" : "/xyz/openbmc_project/control/host0/boot",
               "interface" : "xyz.openbmc_project.Control.Boot.Mode",
               "property_name" : "BootMode",
               "property_type" : "string",
               "property_values" : ["xyz.openbmc_project.Control.Boot.Mode.Modes.Regular", "xyz.openbmc_project.Control.Boot.Mode.Modes.Setup", "xyz.openbmc_project.Control.Boot.Mode.Modes.Safe"]
            }
      },
      {
         "attribute_name":"pvm_stop_at_standby_current",
         "possible_values":[
            "Disabled",
            "Enabled",
            "ManualOnly"
         ],
         "default_values":[
            "Disabled"
         ],
         "helpText" : "Specifies the current hypervisor boot policy. Do not set this attribute directly; set pvm_stop_at_standby instead.",
         "displayName" : "pvm_stop_at_standby_current (current)"
      },
      {
         "attribute_name":"hb_debug_console",
         "possible_values":[
            "Disabled",
            "Enabled"
         ],
         "default_values":[
            "Disabled"
         ],
         "helpText" : "When set to Enabled Hostboot should emit debug trace information to the VUART2 device.",
         "displayName" : "hb-debug-console"
      },
      {
         "attribute_name":"hb_inhibit_bmc_reset",
         "possible_values":[
            "NoInhibit",
            "Inhibit"
         ],
         "default_values":[
            "NoInhibit"
         ],
         "helpText" : "When set to Inhibit, the hypervisor shall not reset/reload the BMC at runtime.",
         "displayName" : "hb-inhibit-bmc-reset",
         "readOnly":true
      },
      {
         "attribute_name":"pvm_system_power_off_policy",
         "possible_values":[
            "Power Off",
            "Stay On",
            "Automatic"
         ],
         "default_values":[
            "Automatic"
          ],
         "helpText" : "The system power off policy flag is a system parameter that controls the system's behavior when the last partition (or only partition in the case of a system that is not managed by an HMC) is powered off.",
         "displayName" : "System Automatic Power Off Policy"
      },
      {
         "attribute_name":"pvm_hmc_managed",
         "possible_values":[
            "Disabled",
            "Enabled"
         ],
         "default_values":[
            "Disabled"
         ],
         "helpText" : "This option enables or disables the system is managed by HMC.",
         "displayName" : "HMC managed System"
      },
      {
         "attribute_name":"pvm_rtad",
         "possible_values":[
            "Disabled",
            "Enabled"
         ],
         "default_values":[
            "Enabled"
         ],
         "helpText" : "This option enables or disables the Remote Trusted Attestation Daemon for host firmware.",
         "displayName" : "Remote Trusted Attestation Daemon State"
      },
      {
         "attribute_name":"pvm_default_os_type",
         "possible_values":[
            "AIX",
            "Linux",
            "IBM I",
            "Default"
         ],
         "default_values":[
            "Default"
         ],
         "helpText" : "CEC Primary OS",
         "displayName" : "CEC Primary OS"
      },
      {
         "attribute_name":"pvm_default_os_type_current",
         "possible_values":[
            "AIX",
            "Linux",
            "IBM I",
            "Default"
         ],
         "default_values":[
            "Default"
         ],
         "helpText" : "Specifies the current CEC Primary OS type. Do not set this attribute directly; set pvm_default_os_type instead.",
         "displayName" : "CEC Primary OS (current)"
      },
      {
         "attribute_name":"pvm_system_operating_mode",
         "possible_values":[
            "Normal",
            "Manual"
         ],
         "default_values":[
            "Normal"
         ],
         "helpText" : "Manual mode is used for service or maintenance purpose of the system hardware. When the system is in manual mode, various automatic functions such as recovery on error, system poweron on power loss and reboot of host on failure are disabled.",
         "displayName" : "Server Operating Mode"
      },
      {
         "attribute_name":"pvm_rpa_boot_mode",
         "possible_values":[
            "Normal",
            "SavedList",
            "SmsMenu",
            "OkPrompt",
            "DefaultList",
            "PblBootLid"
         ],
         "default_values":[
            "Normal"
         ],
         "helpText" : "Select the boot type for an AIX/Linux partition. Normal: The partition boots directly to the operating system, SavedList: The system boots from the saved service mode boot list, SmsMenu: The partition stops at the System Management Services(SMS) menu, OkPrompt: The system stops at the open firmware prompt, DefaultList: The system boots from the default boot list, PblBootLid(PBL : Petitboot Boot Loader): The partition boots from the petitboot bootloader.",
         "displayName" : "AIX/Linux Partition Boot Mode"
      },
      {
         "attribute_name":"pvm_rpa_boot_mode_current",
         "possible_values":[
            "Normal",
            "SavedList",
            "SmsMenu",
            "OkPrompt",
            "DefaultList",
            "PblBootLid"
         ],
         "default_values":[
            "Normal"
         ],
         "helpText" : "Specifies the current boot type for an AIX/Linux partition. Do not set this attribute directly; set pvm_rpa_boot_mode instead.",
         "displayName" : "AIX/Linux Partition Boot Mode (current)"
      },
      {
         "attribute_name":"pvm_os_boot_type",
         "possible_values":[
            "A_Mode",
            "B_Mode",
            "C_Mode",
            "D_Mode"
         ],
         "default_values":[
            "D_Mode"
         ],
         "helpText" : "Select the IBMi partition boot mode for next system boot. A_Mode: Boot from disk using copy A, B_Mode: Boot from disk using copy B, C_Mode: Reserved for IBM lab use only, D_Mode: Boot from media/drives.",
         "displayName" : "IBMi Partition Boot Mode"
      },
      {
         "attribute_name":"pvm_os_boot_type_current",
         "possible_values":[
            "A_Mode",
            "B_Mode",
            "C_Mode",
            "D_Mode"
         ],
         "default_values":[
            "D_Mode"
         ],
         "helpText" : "Specifies the current IBMi partition boot mode for next system boot. Do not set this attribute directly; set pvm_os_boot_type instead.",
         "displayName" : "IBMi Partition Boot Mode (current)"
      },
      {
         "attribute_name":"pvm_vtpm",
         "possible_values":[
            "Disabled",
            "Enabled"
         ],
         "default_values":[
            "Disabled"
         ],
         "helpText" : "Enabling vTPM makes a TPM available to the guest operating system.",
         "displayName" : "Virtual Trusted Platform Module"
      },
      {
         "attribute_name":"pvm_vtpm_current",
         "possible_values":[
            "Disabled",
            "Enabled"
         ],
         "default_values":[
            "Disabled"
         ],
         "helpText" : "Specifies the current vTPM policy. Do not set this attribute directly; set pvm_vtpm instead.",
         "displayName" : "Virtual Trusted Platform Module (current)"
      },
      {
         "attribute_name":"pvm_sys_dump_active",
         "possible_values":[
            "Enabled",
            "Disabled"
         ],
         "default_values":[
            "Disabled"
         ],
         "helpText" : "Enabled when a system dump is in progress or stored in hypervisor memory and ready for offload, Disabled otherwise.",
         "displayName" : "System Dump Active"
      },
      {
         "attribute_name":"hb_memory_region_size",
         "possible_values":[
            "128MB",
            "256MB"
         ],
         "default_values":[
            "256MB"
         ],
         "helpText" : "Specifies the size of the logical memory block the system uses to read memory, requires a reboot for a change to be applied.",
         "displayName" : "Memory Region Size (pending)"
      },
      {
         "attribute_name":"hb_memory_region_size_current",
         "possible_values":[
            "128MB",
            "256MB"
         ],
         "default_values":[
            "256MB"
         ],
         "helpText" : "Specifies the size of the logical memory block the system uses to read memory for the current IPL. Do not set this attribute directly; set hb_memory_region_size instead.",
         "displayName" : "Memory Region Size (current)"
      },
      {
         "attribute_name":"hb_power_limit_enable",
         "possible_values":[
            "Enabled",
            "Disabled"
         ],
         "default_values":[
            "Disabled"
         ],
         "helpText" : "Specifies whether the power limit is enabled.",
         "displayName" : "Power Limit Enable",
         "dbus":
            {
               "object_path" : "/xyz/openbmc_project/control/host0/power_cap",
               "interface" : "xyz.openbmc_project.Control.Power.Cap",
               "property_name" : "PowerCapEnable",
               "property_type" : "bool",
               "property_values" : [true, false]
            }
      },
      {
         "attribute_name":"hb_secure_ver_lockin_enabled",
         "possible_values":[
            "Enabled",
            "Disabled"
         ],
         "default_values":[
            "Disabled"
         ],
         "helpText" : "Specifies whether the secure version lockin functionality is enabled.",
         "displayName" : "Secure Version Lockin Enabled"
      },
      {
         "attribute_name":"hb_memory_mirror_mode",
         "possible_values":[
            "Disabled",
            "Enabled"
         ],
         "default_values":[
            "Enabled"
         ],
         "helpText" : "Specifies if the memory mirroring is enabled, requires a reboot for a change to be applied.",
         "displayName" : "Memory Mirror Mode (pending)"
      },
      {
         "attribute_name":"hb_memory_mirror_mode_current",
         "possible_values":[
            "Disabled",
            "Enabled"
         ],
         "default_values":[
            "Enabled"
         ],
         "helpText" : "Specifies if the memory mirroring is enabled for the current IPL. Do not set this attribute directly; set hb_memory_mirror_mode instead.",
         "displayName" : "Memory Mirror Mode (current)"
      },
      {
         "attribute_name":"hb_tpm_required",
         "possible_values":[
            "Required",
            "Not Required"
         ],
         "default_values":[
            "Required"
         ],
         "helpText" : "When the 'TPM Required Policy' is 'Required', a functional TPM is required to boot the system",
         "displayName" : "TPM Required Policy (pending)",
         "dbus":
            {
               "object_path" : "/xyz/openbmc_project/control/host0/TPMEnable",
               "interface" : "xyz.openbmc_project.Control.TPM.Policy",
               "property_name" : "TPMEnable",
               "property_type" : "bool",
               "property_values" : [true, false]
            }
      },
      {
         "attribute_name":"hb_tpm_required_current",
         "possible_values":[
            "Required",
            "Not Required"
         ],
         "default_values":[
            "Required"
         ],
         "helpText" : "When the 'TPM Required Policy' is 'Required', a functional TPM is required to boot the system. Do not set this attribute directly; set hb_tpm_required instead.",
         "displayName" : "TPM Required Policy (current)"
      },
      {
         "attribute_name":"hb_key_clear_request",
         "possible_values":[
            "NONE",
            "ALL",
            "OS_KEYS",
            "POWERVM_SYSKEY",
            "MFG_ALL",
            "MFG"
         ],
         "default_values":[
            "NONE"
         ],
         "helpText" : "Specifies the requested level of security keys to be cleared from the system, requires a reboot to take effect",
         "displayName" : "Key Clear Request (pending)"
      },
      {
         "attribute_name":"hb_key_clear_request_current",
         "possible_values":[
            "NONE",
            "ALL",
            "OS_KEYS",
            "POWERVM_SYSKEY",
            "MFG_ALL",
            "MFG"
         ],
         "default_values":[
            "NONE"
         ],
         "helpText" : "Specifies the requested level of security keys to be cleared from the system for the current IPL. Do not set this attribute directly; set hb_key_clear_request instead.",
         "displayName" : "Key Clear Request (current)"
      },
      {
         "attribute_name":"hb_host_usb_enablement",
         "possible_values":[
            "Disabled",
            "Enabled"
         ],
         "default_values":[
            "Enabled"
         ],
         "helpText" : "Specifies if Host USB is disabled or enabled for security reasons, requires a reboot for a change to be applied.",
         "displayName" : "Host USB Enablement (pending)"
      },
      {
         "attribute_name":"hb_host_usb_enablement_current",
         "possible_values":[
            "Disabled",
            "Enabled"
         ],
         "default_values":[
            "Enabled"
         ],
         "helpText" : "Specifies if Host USB is disabled or enabled for security reasons. Do not set this attribute directly; set hb_host_usb_enablement instead.",
         "displayName" : "Host USB Enablement (current)"
     },
     {
        "attribute_name":"pvm_auto_poweron_restart",
        "possible_values":[
           "Disabled",
           "Enabled"
        ],
        "default_values":[
           "Disabled"
        ],
        "helpText" : "Select auto poweron policy. Disabled: Instructs server not to activate any auto poweron logic, Enabled: The system will boot automatically once power is restored after a power disturbance.",
        "displayName" : "pvm_auto_poweron_restart",
        "dbus":
           {
              "object_path" : "/xyz/openbmc_project/control/host0/power_restore_policy",
              "interface" : "xyz.openbmc_project.Control.Power.RestorePolicy",
              "property_name" : "PowerRestorePolicy",
              "property_type" : "string",
              "property_values" : ["xyz.openbmc_project.Control.Power.RestorePolicy.Policy.None", "xyz.openbmc_project.Control.Power.RestorePolicy.Policy.AlwaysOn"]
           }
      },
      {
         "attribute_name":"hb_lateral_cast_out_mode",
         "possible_values":[
            "Disabled",
            "Enabled"
         ],
         "default_values":[
            "Enabled"
         ],
         "helpText" : "Only change this value if instructed by service provider as it might degrade system performance. Specifies if Lateral Cast Out mode is disabled or enabled, requires a reboot for a change to be applied.",
         "displayName" : "Lateral Cast Out mode (pending)"
      },
      {
         "attribute_name":"hb_lateral_cast_out_mode_current",
         "possible_values":[
            "Disabled",
            "Enabled"
         ],
         "default_values":[
            "Enabled"
         ],
         "helpText" : "Only change this value if instructed by service provider as it might degrade system performance. Specifies if Lateral Cast Out mode is disabled or enabled. Do not set this attribute directly; set hb_lateral_cast_out_mode instead.",
         "displayName" : "Lateral Cast Out mode (current)"
      },
      {
         "attribute_name":"pvm_create_default_lpar",
         "possible_values":[
            "Disabled",
            "Enabled"
         ],
         "default_values":[
            "Disabled"
         ],
         "helpText" : "When enabled creates a new default partition after NVRAM is cleared. This is primarily for machines that are managed by hardware management console.",
         "displayName" : "pvm_create_default_lpar (pending)"
      },
      {
         "attribute_name":"pvm_create_default_lpar_current",
         "possible_values":[
            "Disabled",
            "Enabled"
         ],
         "default_values":[
            "Disabled"
         ],
         "helpText" : "When enabled creates a new default partition after NVRAM is cleared. This is primarily for machines that are managed by hardware management console.Do not set this attribute directly; set pvm_create_default_lpar instead.",
         "displayName" : "pvm_create_default_lpar (current)"
      }

   ]
}
