dellemc.openmanage.idrac_bios_registry_info module – Query iDRAC BIOS Attribute Registry and validate configurations

Note

This module is part of the dellemc.openmanage collection (version 11.0.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install dellemc.openmanage. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: dellemc.openmanage.idrac_bios_registry_info.

New in dellemc.openmanage 10.0.0

Synopsis

  • Query the iDRAC Redfish BIOS Attribute Registry endpoint to retrieve complete BIOS attribute metadata.

  • Validate proposed BIOS configurations against the registry with actionable error messages.

  • Filter attributes by name pattern, OEM/standard classification, and category.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 3.9.6

Parameters

Parameter

Comments

attribute_name

string

Pattern to filter BIOS attributes by name (supports glob patterns).

attribute_source

string

Filter attributes by source type.

Choices:

  • "all" ← (default)

  • "oem"

  • "standard"

attributes

dictionary

Dictionary of attribute names and proposed values to validate.

ca_path

path

added in dellemc.openmanage 5.0.0

The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation.

category

string

Filter attributes by category (e.g., ‘Processor’, ‘Memory’, ‘Security’).

cert_fingerprint

string

SHA-256 fingerprint of the expected TLS certificate (hex digest, with or without colons).

When supplied together with validate_certs=false, the module verifies the remote certificate’s fingerprint instead of performing full CA validation.

enforce_validate_certs

boolean

If true and validate_certs is false, the module will fail with an error instead of just emitting a warning.

Choices:

  • false ← (default)

  • true

force_refresh

boolean

Force refresh of BIOS attribute registry from iDRAC, bypassing cache.

Choices:

  • false ← (default)

  • true

idrac_ip

string / required

iDRAC IP Address.

idrac_password

aliases: idrac_pwd

string / required

iDRAC user password.

If the password is not provided, then the environment variable IDRAC_PASSWORD is used.

Example: export IDRAC_PASSWORD=password

idrac_port

integer

iDRAC port.

Default: 443

idrac_user

string / required

iDRAC username.

If the username is not provided, then the environment variable IDRAC_USERNAME is used.

Example: export IDRAC_USERNAME=username

timeout

integer

added in dellemc.openmanage 5.0.0

The socket level timeout in seconds.

Default: 30

validate

boolean

Validate proposed BIOS configuration against the registry.

Choices:

  • false ← (default)

  • true

validate_certs

boolean

added in dellemc.openmanage 5.0.0

If false, the SSL certificates will not be validated.

Configure false only on personally controlled sites where self-signed certificates are used.

Prior to collection version 5.0.0, the validate_certs is false by default.

Choices:

  • false

  • true ← (default)

Notes

Note

  • Run this module from a system that has direct access to Dell iDRAC.

  • This module supports both IPv4 and IPv6 address for idrac_ip.

  • Minimum firmware requirement: iDRAC9 >= 7.10.90.00 or iDRAC10 >= 1.20.50.50.

Examples

---
- name: Query all BIOS attributes
  dellemc.openmanage.idrac_bios_registry_info:
    idrac_ip: "192.168.0.1"
    idrac_user: "user_name"
    idrac_password: "user_password"
    ca_path: "/path/to/ca_cert.pem"

- name: Query BIOS attributes with filtering
  dellemc.openmanage.idrac_bios_registry_info:
    idrac_ip: "192.168.0.1"
    idrac_user: "user_name"
    idrac_password: "user_password"
    attribute_name: "Proc*"
    attribute_source: "oem"
    category: "Processor"

- name: Validate BIOS configuration
  dellemc.openmanage.idrac_bios_registry_info:
    idrac_ip: "192.168.0.1"
    idrac_user: "user_name"
    idrac_password: "user_password"
    validate: true
    attributes:
      ProcVirtualization: "Enabled"
      MemTest: "Disabled"

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

attribute_count

integer

Total number of attributes in the registry.

Returned: success

Sample: 150

bios_attributes

list / elements=string

List of BIOS attributes with complete metadata.

Returned: success

Sample: [{"current_value": "Enabled", "default_value": "Enabled", "description": "Enable or disable virtualization technology.", "display_name": "Virtualization Technology", "display_order": 1, "gray_out": false, "group": "Processor Settings", "hidden": false, "immutable": false, "is_oem": true, "is_system_unique_property": false, "lower_bound": null, "max_length": null, "menu_path": "./ProcSettingsRef", "min_length": null, "name": "ProcVirtualization", "read_only": false, "regex": null, "scalar_increment": null, "type": "Enumeration", "upper_bound": null, "valid_values": ["Enabled", "Disabled"], "value_expression": null, "warning_text": null, "write_only": false}]

error_info

dictionary

Details of the HTTP Error.

Returned: on HTTP error

Sample: {"error": {"code": "Base.1.0.GeneralError", "message": "A general error has occurred."}}

idrac_firmware_version

string

iDRAC firmware version.

Returned: success

Sample: "7.10.90.00"

idrac_generation

integer

PowerEdge server generation (14G-16G for iDRAC9, 17G+ for iDRAC10).

Returned: success

Sample: 15

idrac_model

string

iDRAC model.

Returned: success

Sample: "iDRAC 9"

invalid_count

integer

Count of invalid attributes when validate=true.

Returned: when validate=true

Sample: 0

language

string

Language of the registry.

Returned: success

Sample: "en"

msg

string

Overall status message.

Returned: always

Sample: "Successfully queried BIOS attribute registry."

owning_entity

string

Entity that owns the registry.

Returned: success

Sample: "Dell"

registry_version

string

Version of the BIOS attribute registry.

Returned: success

Sample: "1.0.0"

valid

boolean

Overall validation status when validate=true.

Returned: when validate=true

Sample: true

valid_count

integer

Count of valid attributes when validate=true.

Returned: when validate=true

Sample: 2

validation_results

list / elements=string

Validation results for each attribute when validate=true.

Returned: when validate=true

Sample: [{"attribute": "ProcVirtualization", "reason": "Value is valid", "status": "valid", "suggestions": []}]

Authors

  • Sapana Gupta(@sapana05)