dellemc.openmanage.idrac_network_attributes_info module – Query and validate iDRAC Network Attribute Registry for a specific NIC
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_network_attributes_info.
New in dellemc.openmanage 10.0.0
Synopsis
Query the Dell OEM DellNetworkAttributes endpoint and NetworkAttributesRegistry for a specific network device function (NIC).
Returns full attribute schema with current values, supporting attribute name filtering and OEM vs. standard attribute classification.
Supports both iDRAC9 (16G) and iDRAC10 (17G) via dynamic URI resolution.
When
validate=trueandattributesis provided, validates each user-supplied attribute name-value pair against the registry and returns a consolidated report with fuzzy match suggestions for misspelled attribute names.
Requirements
The below requirements are needed on the host that executes this module.
python >= 3.9.6
Parameters
Parameter |
Comments |
|---|---|
Pattern to filter attributes by name (supports glob patterns via fnmatch). |
|
Filter attributes by source type. Choices:
|
|
Dictionary of attribute name-value pairs to validate against the registry. Required when validate=true. Example: |
|
The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. |
|
SHA-256 fingerprint of the expected TLS certificate (hex digest, with or without colons). When supplied together with |
|
If Choices:
|
|
Force refresh of attribute registry data, bypassing the in-memory cache. Choices:
|
|
iDRAC IP Address. |
|
iDRAC user password. If the password is not provided, then the environment variable Example: export IDRAC_PASSWORD=password |
|
iDRAC port. Default: |
|
iDRAC username. If the username is not provided, then the environment variable Example: export IDRAC_USERNAME=username |
|
FQDD of the network device function to query attributes for. Example: If the specified ID does not exist, the module returns an error including a list of valid NIC IDs discovered on the iDRAC. |
|
The socket level timeout in seconds. Default: |
|
When set to Returns a consolidated validation report with per-attribute status. Requires attributes to be provided. Choices:
|
|
If Configure Prior to collection version Choices:
|
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.
This module is read-only and always returns changed=false.
Use idrac_network_info to discover valid NIC IDs before calling this module.
Examples
---
- name: Query all network attributes for a specific NIC
dellemc.openmanage.idrac_network_attributes_info:
idrac_ip: "192.168.0.1"
idrac_user: "user_name"
idrac_password: "user_password"
ca_path: "/path/to/ca_cert.pem"
network_device_function_id: "NIC.Embedded.1-1-1"
- name: Filter attributes by glob pattern
dellemc.openmanage.idrac_network_attributes_info:
idrac_ip: "192.168.0.1"
idrac_user: "user_name"
idrac_password: "user_password"
network_device_function_id: "NIC.Embedded.1-1-1"
attribute_name: "VLan*"
- name: Query only OEM attributes
dellemc.openmanage.idrac_network_attributes_info:
idrac_ip: "192.168.0.1"
idrac_user: "user_name"
idrac_password: "user_password"
network_device_function_id: "NIC.Embedded.1-1-1"
attribute_source: "oem"
- name: Validate attribute values before applying
dellemc.openmanage.idrac_network_attributes_info:
idrac_ip: "192.168.0.1"
idrac_user: "user_name"
idrac_password: "user_password"
network_device_function_id: "NIC.Embedded.1-1-1"
validate: true
attributes:
VLanMode: "Enabled"
VLanId: "100"
- name: Batch validate with fuzzy match suggestions for misspelled names
dellemc.openmanage.idrac_network_attributes_info:
idrac_ip: "192.168.0.1"
idrac_user: "user_name"
idrac_password: "user_password"
network_device_function_id: "NIC.Embedded.1-1-1"
validate: true
attributes:
VLanMoed: "Enabled"
VLanId: "99999"
- name: Two-step workflow - discover NICs then query attributes
hosts: idrac_hosts
tasks:
- name: Discover all NICs
dellemc.openmanage.idrac_network_info:
idrac_ip: "{{ idrac_ip }}"
idrac_user: "{{ idrac_user }}"
idrac_password: "{{ idrac_password }}"
register: nic_result
- name: Query attributes for first NIC
dellemc.openmanage.idrac_network_attributes_info:
idrac_ip: "{{ idrac_ip }}"
idrac_user: "{{ idrac_user }}"
idrac_password: "{{ idrac_password }}"
network_device_function_id: "{{ nic_result.network_device_functions[0].id }}"
register: attr_result
- name: Display attribute count
ansible.builtin.debug:
msg: "Found {{ attr_result.attribute_count }} attributes"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
|---|---|
Total number of attributes returned (after filtering). Returned: success Sample: |
|
Name of the attribute registry used. Returned: success Sample: |
|
iDRAC firmware version. Returned: success Sample: |
|
PowerEdge server generation (14G-16G for iDRAC9, 17G+ for iDRAC10). Returned: success Sample: |
|
iDRAC model identifier. Returned: success Sample: |
|
Number of attributes that failed validation. Returned: when validate=true Sample: |
|
Overall status message. Returned: always Sample: |
|
List of network attributes with complete metadata. Returned: success Sample: |
|
The NIC FQDD that was queried. Returned: success Sample: |
|
Details of the HTTP Error. Returned: on HTTP error Sample: |
|
Whether all submitted attributes passed validation. Returned: when validate=true Sample: |
|
Number of attributes that passed validation. Returned: when validate=true Sample: |
|
Per-attribute validation results. Returned: when validate=true Sample: |