diff options
Diffstat (limited to 'ansible_collections/dellemc/openmanage/docs')
96 files changed, 4383 insertions, 1140 deletions
diff --git a/ansible_collections/dellemc/openmanage/docs/DOCUMENTATION.md b/ansible_collections/dellemc/openmanage/docs/DOCUMENTATION.md index b89afba7f..9119699c1 100644 --- a/ansible_collections/dellemc/openmanage/docs/DOCUMENTATION.md +++ b/ansible_collections/dellemc/openmanage/docs/DOCUMENTATION.md @@ -8,7 +8,10 @@ You may obtain a copy of the License at https://www.gnu.org/licenses/gpl-3.0.txt --> ## Playbooks and Tutorials -* For the latest sample playbooks and examples, see [playbooks](https://github.com/dell/dellemc-openmanage-ansible-modules/tree/collections/playbooks). +* For the latest sample playbooks and example for idrac, see [idrac playbooks](https://github.com/dell/dellemc-openmanage-ansible-modules/tree/collections/playbooks/idrac). +* For the latest sample playbooks and examples for redfish, see [redfish playbooks](https://github.com/dell/dellemc-openmanage-ansible-modules/tree/collections/playbooks/redfish). +* For the latest sample playbooks and examples for ome, see [ome playbooks](https://github.com/dell/dellemc-openmanage-ansible-modules/tree/collections/playbooks/ome). +* For the latest sample playbooks and examples for roles, see [roles playbooks](https://github.com/dell/dellemc-openmanage-ansible-modules/tree/collections/playbooks/roles). * For the tutorials and sample use cases, see the tutorials available at [developer.dell.com](https://developer.dell.com/). ## Module documentations @@ -36,5 +39,5 @@ You may obtain a copy of the License at ```export REQUESTS_CA_BUNDLE=/usr/share/ssl-certs/ca-cert.pem``` ### Ignore SSL certificate validation -It is common to run a test environment without a proper SSL certificate configuration. To disable the certificate validation for a module, set the validate_certs module argument to ```False``` in the playbook. +It is common to run a test environment without a proper SSL certificate configuration. To disable the certificate validation for a module, set the validate_certs module argument to ```false``` in the playbook. diff --git a/ansible_collections/dellemc/openmanage/docs/EXECUTION_ENVIRONMENT.md b/ansible_collections/dellemc/openmanage/docs/EXECUTION_ENVIRONMENT.md index a688c5c27..c5f556a72 100644 --- a/ansible_collections/dellemc/openmanage/docs/EXECUTION_ENVIRONMENT.md +++ b/ansible_collections/dellemc/openmanage/docs/EXECUTION_ENVIRONMENT.md @@ -1,4 +1,4 @@ -# Build execution environment with Dell OpenManage Ansible Modules +# Using Ansible Automation Platform with Dell OpenManage Ansible Modules Creating automation execution environments using the OpenManage Ansible Modules enables your automation teams to define, build, and update their automation environment themselves. Execution environments provide a common language to communicate automation dependency between automation developers, architects, and platform administrators. In this tutorial, you will learn how to build the execution environment image, push the image to a registry, and then create the execution environment in Ansible Automation Platform. @@ -13,59 +13,68 @@ While Ansible Galaxy is good for testing the latest and greatest developer conte - Premium support enables you to get help directly from Red Hat if you have any issue with an official Red Hat collection or certified partner collection. - Red Hat subscription provides free and unlimited access to any content available. -## Why AWX -Ansible AWX provides an open-source version of Ansible Automation Platform and is the foundation on which Ansible Automation Platform was developed. With Ansible AWX, you have all the enterprise features for an unlimited number of nodes. However, one drawback to note is that Ansible AWX undergoes minimal testing and quality engineering testing. ## Workflow In this tutorial, you will learn how to: -1. [Build custom execution environment image.](#build-custom-execution-environment-image) +1. [Build execution environment image.](#build-execution-environment-image) 2. [Use Ansible Runner to verify the execution environment (Optional).](#use-ansible-runner-to-verify-the-execution-environment) 3. [Upload the execution environment to a registry.](#upload-the-execution-environment-to-a-registry) 4. [Create execution environment in Ansible Automation Platform.](#create-execution-environment-in-ansible-automation-platform) -## Build custom execution environment image -Build a custom image with the required OpenManage Ansible collections ([dellemc.openmanage](https://github.com/dell/dellemc-openmanage-ansible-modules) ) and libraries (omsdk and netaddr), and then upload it to a registry of your choice. In this tutorial, you will learn how to create a Docker image. +## Build execution environment image +Build a image with the required Ansible collections and libraries, and then upload it to a registry of your choice. In this tutorial, you will learn how to create a Podman image. 1. Create the following files in your local directory: - - *execution_environment.yml* - - *requirement.yml* + - *execution-environment.yml* + - *requirements.yml* - *requirements.txt* 2. For installing OpenManage collections and their dependencies, copy the metadata from the [dellemc.openmanage](https://github.com/dell/dellemc-openmanage-ansible-modules) GitHub repository. -The following are the sample files: + The following are the sample files: -**execution_environment.yml** + **execution-environment.yml** -```yaml -version: 1 -dependencies: - galaxy: requirements.yml - python: requirements.txt -``` + ```yaml + version: 3 + dependencies: + galaxy: requirements.yml + python: requirements.txt + system: bindep.txt + ``` + + We can modify the execution environment file to configure as per your requirement based on the guidelines mentioned [here](https://docs.ansible.com/automation-controller/latest/html/userguide/ee_reference.html) + -**requirement.yml** -```yaml -collections: - - name: dellemc.openmanage -``` + **requirements.yml** + ```yaml + collections: + - dellemc.openmanage + - ansible.utils + - ansible.windows + ``` + Note: The content of the *requirements.yml* can be found [here](https://github.com/dell/dellemc-openmanage-ansible-modules/blob/collections/requirements.yml) -**requirements.txt** -```yaml -omsdk -netaddr>=0.7.19 -``` + **requirements.txt** + ```yaml + omsdk + netaddr>=0.7.19 + jmespath + ``` -3. Build the Docker image using the following syntax: + Note: The content of the *requirements.txt* can be found [here](https://github.com/dell/dellemc-openmanage-ansible-modules/blob/collections/requirements.txt) -`ansible-builder build -f<path>/execution-environment.yml --container-runtime=<container> -c build_context --tag <container.io>/<org_name or username>/<imagename>:<tag>` +3. Build the Podman image using the following syntax: - In this tutorial, the following command is used to build the Docker image with the name "*execution_environment*". + `ansible-builder build -f <path>/execution-environment.yml --container-runtime=<container> -c build_context --tag <container.io>/<org_name or username>/<imagename>:<tag>` -```yaml -ansible-builder build -f execution-environment.yml --container-runtime=docker -c build_context --tag docker.io/delluser/execution_environment:<tag> -docker build -f context/Dockerfile -t docker.io/delluser/execution_environment context -Complete! The build context can be found at: /context -``` + In this tutorial, the following command is used to build the Docker image with the name "*execution-environment*". + + ```yaml + $ ansible-builder build -f execution-environment.yml --container-runtime=podman -c build_context --tag quay.io/delluser/dell-openmanage-ee:<tag> + + podman build -f context/Containerfile -t quay.io/delluser/dell-openmanage-ee context + Complete! The build context can be found at: /context + ``` ## Use Ansible Runner to verify the execution environment @@ -86,7 +95,7 @@ runner-example/ └── project └── testplaybook.yml ``` - + 2. Create a host file with the following entries: ```yaml @@ -94,34 +103,30 @@ runner-example/ 192.168.0.1 [idrac:vars] -ansible_python_interpreter=/usr/bin/python3.8 +ansible_python_interpreter=/usr/bin/python3.9 user=user password=password ``` 3. Create a playbook. ```yaml -- hosts: idrac - connection: local - name: Get system inventory - gather_facts: False - - collections: - - dellemc.openmanage +- name: Get system inventory + hosts: idrac + gather_facts: false tasks: - - name: Get system inventory. - idrac_system_info: - idrac_ip: "{{ inventory_hostname }}" - idrac_user: "{{ user }}" - idrac_password: "{{ password }}" - validate_certs: False - + - name: Get system inventory. + dellemc.openmanage.idrac_system_info: + idrac_ip: "{{ inventory_hostname }}" + idrac_user: "{{ user }}" + idrac_password: "{{ password }}" + validate_certs: false + delegate_to: localhost ``` 4. Run the playbook using the following command: ```yaml -ansible-runner run --process-isolation --process-isolation-executable docker --container-image docker.io/delluser/execution_environment -p sysinfo.yml ./runner-example/ -v +ansible-runner run --process-isolation --process-isolation-executable podman --container-image quay.io/delluser/dell-openmanage-ee -p sysinfo.yml ./runner-example/ -v No config file found; using defaults PLAY [Get system inventory] **************************************************** @@ -167,33 +172,33 @@ runner-example/ Now that you have built the image, you can upload the execution environment image to a registry. The following steps describe how to upload the image to a Docker registry. You can upload the image to a registry of your choice (https://quay.io or https://docker.io). -1. Log in to docker.io. +1. Log in to quay.io. ```yaml -docker login docker.io +podman login quay.io ``` 2. To view the list of images, run the following command: ```yaml -docker image list +podman image list ``` Output: ```yaml REPOSITORY TAG IMAGE ID CREATED SIZE -docker.io/delluser/execution_environment latest 6ea6337881f5 36 seconds ago 908MB +quay.io/delluser/dell-openmanage-ee latest 6ea6337881f5 36 seconds ago 908MB <none> <none> bab8f0c1f372 3 hours ago 959MB <none> <none> 26e61b6f31b6 3 hours ago 779MB ``` 3. Upload the image to the repository using the following command: ```yaml -docker push docker.io/delluser/execution_environment +podman push quay.io/delluser/dell-openmanage-ee ``` Output: ```yaml Using default tag: latest -The push refers to repository [docker.io/delluser/execution_environment] +The push refers to repository [quay.io/delluser/dell-openmanage-ee] 6a938007b4eb: Pushed c1a7a8b69adb: Pushed 75f55eeed6f1: Pushed @@ -217,7 +222,6 @@ aadc47c09f66: Layer already exists 101e6c349551: Layer already exists latest: digest: sha256:7be5110235abf72e0547cac016a506d59313addefc445d35e5dff68edb0a9ad6 size: 4726 <none> 26e61b6f31b6 3 hours ago 779MB - ``` ## Create execution environment in Ansible Automation Platform @@ -227,8 +231,8 @@ Now that you uploaded the image to a registry, you can now create the execution 1. Log in to Ansible Automation Platform. 2. On the navigation pane, click **Administration > Execution Environments**. -2. On the **Execution Environments** page, click **Add**. -3. On the **Create new execution environment** page, enter the following details, and click **Save**. +3. On the **Execution Environments** page, click **Add**. +4. On the **Create new execution environment** page, enter the following details, and click **Save**. - **Name**: Enter a name for the execution environment (required). - **Image**: Enter the image name (required). The image name requires its full location (repo), the registry, image name, and version tag - **Pull**: From the **Pull** drop-down list, select **Only pull the image if not present before running**. @@ -248,7 +252,7 @@ A Project is a logical collection of Ansible playbooks. - In the **Source Control URL**, specify the source control URL. That is your repository link. ### Create Credential Types -This tutorial uses a custom credential type. You can create credential types depending on your data center environment. For more information, see [Credential Types](https://docs.ansible.com/automation-controller/4.0.0/html/userguide/credentials.html#credential-types). +This tutorial uses a custom credential type. You can create credential types depending on your data center environment. For more information, see [Credential Types](https://docs.ansible.com/automation-controller/4.2.1/html/userguide/credentials.html#credential-types). To create a credential type: @@ -263,16 +267,16 @@ This tutorial uses a custom credential type. The following are the input configu ```yaml fields: - -id: username + - id: username type: string label: Username - -Id: password + - id: password type: string label: Password secret: true -Required: - -username - -password +required: + - username + - password ``` **Injector configuration:** @@ -295,7 +299,7 @@ extra_vars: 1. On the navigation pane, click **Resources > Inventories**. 2. On the **Inventories** page, click **Add**. 3. On the **Create New Inventory** page, enter the details and click **Save**. -4. Add groups and hosts to the inventory. +4. Add Groups and Hosts to the inventory. ## Create Job Templates @@ -326,22 +330,10 @@ You can add an Ansible python interpreter to a Template or Inventory. `ansible_python_interpreter: /usr/bin/python<version>` ```yaml -ansible_python_interpreter: /usr/bin/python3.8 +ansible_python_interpreter: /usr/bin/python3.9 ``` ## Documentation references - [https://www.redhat.com/en/technologies/management/ansible](https://www.redhat.com/en/technologies/management/ansible) - [https://www.redhat.com/en/blog/what-ansible-automation-hub-and-why-should-you-use-it](https://www.redhat.com/en/blog/what-ansible-automation-hub-and-why-should-you-use-it) -- [https://becloudready.com/ansible-awx-vs-ansible-tower-the-key-to-automation/](https://becloudready.com/ansible-awx-vs-ansible-tower-the-key-to-automation/) - - - - - - - - - - - - +- [https://www.ansible.com/blog/unlocking-efficiency-harnessing-the-capabilities-of-ansible-builder-3.0](https://www.ansible.com/blog/unlocking-efficiency-harnessing-the-capabilities-of-ansible-builder-3.0) diff --git a/ansible_collections/dellemc/openmanage/docs/README.md b/ansible_collections/dellemc/openmanage/docs/README.md index a96bf0daf..4f39dbc96 100644 --- a/ansible_collections/dellemc/openmanage/docs/README.md +++ b/ansible_collections/dellemc/openmanage/docs/README.md @@ -1,5 +1,5 @@ <!-- -Copyright (c) 2022 Dell Inc., or its subsidiaries. All Rights Reserved. +Copyright (c) 2023 Dell Inc., or its subsidiaries. All Rights Reserved. Licensed under the GPL, Version 3.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,13 +12,12 @@ You may obtain a copy of the License at ### iDRAC Modules - [dellemc_configure_idrac_eventing](modules/dellemc_configure_idrac_eventing.rst) - [dellemc_configure_idrac_services](modules/dellemc_configure_idrac_services.rst) -- [dellemc_get_firmware_inventory](modules/dellemc_get_firmware_inventory.rst) -- [dellemc_get_system_inventory](modules/dellemc_get_system_inventory.rst) - [dellemc_idrac_lc_attributes](modules/dellemc_idrac_lc_attributes.rst) - [dellemc_idrac_storage_volume](modules/dellemc_idrac_storage_volume.rst) - [dellemc_system_lockdown_mode](modules/dellemc_system_lockdown_mode.rst) - [idrac_attributes](modules/idrac_attributes.rst) - [idrac_bios](modules/idrac_bios.rst) +- [idrac_boot](modules/idrac_boot.rst) - [idrac_certificates](modules/idrac_certificates.rst) - [idrac_firmware](modules/idrac_firmware.rst) - [idrac_firmware_info](modules/idrac_firmware_info.rst) @@ -26,6 +25,7 @@ You may obtain a copy of the License at - [idrac_lifecycle_controller_job_status_info](modules/idrac_lifecycle_controller_job_status_info.rst) - [idrac_lifecycle_controller_logs](modules/idrac_lifecycle_controller_logs.rst) - [idrac_lifecycle_controller_status_info](modules/idrac_lifecycle_controller_status_info.rst) +- [idrac_network_attributes](modules/idrac_network_attributes.rst) - [idrac_network](modules/idrac_network.rst) - [idrac_os_deployment](modules/idrac_os_deployment.rst) - [idrac_redfish_storage_controller](modules/idrac_redfish_storage_controller.rst) @@ -35,6 +35,7 @@ You may obtain a copy of the License at - [idrac_system_info](modules/idrac_system_info.rst) - [idrac_timezone_ntp](modules/idrac_timezone_ntp.rst) - [idrac_user](modules/idrac_user.rst) +- [idrac_user_info](modules/idrac_user_info.rst) - [idrac_virtual_media](modules/idrac_virtual_media.rst) - [redfish_event_subscription](modules/redfish_event_subscription.rst) - [redfish_firmware](modules/redfish_firmware.rst) @@ -43,6 +44,11 @@ You may obtain a copy of the License at ### OpenManage Enterprise Modules - [ome_active_directory](modules/ome_active_directory.rst) +- [ome_alert_policies](modules/ome_alert_policies.rst) +- [ome_alert_policies_message_id_info](modules/ome_alert_policies_message_id_info.rst) +- [ome_alert_policies_info](modules/ome_alert_policies_info.rst) +- [ome_alert_policies_actions_info](modules/ome_alert_policies_actions_info.rst) +- [ome_alert_policies_category_info](modules/ome_alert_policies_category_info.rst) - [ome_application_alerts_smtp](modules/ome_application_alerts_smtp.rst) - [ome_application_alerts_syslog](modules/ome_application_alerts_syslog.rst) - [ome_application_certificate](modules/ome_application_certificate.rst) @@ -64,6 +70,7 @@ You may obtain a copy of the License at - [ome_device_network_services](modules/ome_device_network_services.rst) - [ome_device_power_settings](modules/ome_device_power_settings.rst) - [ome_device_quick_deploy](modules/ome_device_quick_deploy.rst) +- [ome_devices](modules/ome_devices.rst) - [ome_diagnostics](modules/ome_diagnostics.rst) - [ome_discovery](modules/ome_discovery.rst) - [ome_domain_user_groups](modules/ome_domain_user_groups.rst) @@ -80,14 +87,17 @@ You may obtain a copy of the License at - [ome_network_vlan_info](modules/ome_network_vlan_info.rst) - [ome_powerstate](modules/ome_powerstate.rst) - [ome_profile](modules/ome_profile.rst) +- [ome_profile_info](modules/ome_profile_info.rst) - [ome_server_interface_profile_info](modules/ome_server_interface_profile_info.rst) - [ome_server_interface_profiles](modules/ome_server_interface_profiles.rst) +- [ome_smart_fabric_info](modules/ome_smart_fabric_info.rst) - [ome_smart_fabric](modules/ome_smart_fabric.rst) +- [ome_smart_fabric_uplink_info](modules/ome_smart_fabric_uplink_info.rst) - [ome_smart_fabric_uplink](modules/ome_smart_fabric_uplink.rst) - [ome_template](modules/ome_template.rst) - [ome_template_identity_pool](modules/ome_template_identity_pool.rst) - [ome_template_info](modules/ome_template_info.rst) - [ome_template_network_vlan](modules/ome_template_network_vlan.rst) +- [ome_template_network_vlan_info](modules/ome_template_network_vlan_info.rst) - [ome_user](modules/ome_user.rst) - [ome_user_info](modules/ome_user_info.rst) - diff --git a/ansible_collections/dellemc/openmanage/docs/modules/dellemc_configure_idrac_eventing.rst b/ansible_collections/dellemc/openmanage/docs/modules/dellemc_configure_idrac_eventing.rst index d0e59981b..e9a4ee437 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/dellemc_configure_idrac_eventing.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/dellemc_configure_idrac_eventing.rst @@ -20,8 +20,8 @@ Requirements ------------ The below requirements are needed on the host that executes this module. -- omsdk >= 1.2.488 -- python >= 3.8.6 +- omsdk >= 1.2.503 +- python >= 3.9.6 @@ -93,7 +93,7 @@ Parameters smtp_ip_address (optional, str, None) - SMTP IP address for communication. + Enter the IPv4 or IPv6 address of the SMTP server or the FQDN or DNS name. smtp_port (optional, str, None) @@ -125,11 +125,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -148,7 +148,8 @@ Notes .. note:: - This module requires 'Administrator' privilege for *idrac_user*. - - Run this module from a system that has direct access to Dell EMC iDRAC. + - 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 supports ``check_mode``. @@ -163,9 +164,9 @@ Examples --- - name: Configure the iDRAC eventing attributes dellemc.openmanage.dellemc_configure_idrac_eventing: - idrac_ip: "192.168.0.1" + idrac_ip: "192.168.0.1" idrac_user: "user_name" - idrac_password: "user_password" + idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" destination_number: "2" destination: "1.1.1.1" @@ -191,11 +192,11 @@ msg (always, str, Successfully configured the iDRAC eventing settings.) Successfully configured the iDRAC eventing settings. -eventing_status (success, dict, AnsibleMapping([('CompletionTime', '2020-04-02T02:43:28'), ('Description', 'Job Instance'), ('EndTime', None), ('Id', 'JID_12345123456'), ('JobState', 'Completed'), ('JobType', 'ImportConfiguration'), ('Message', 'Successfully imported and applied Server Configuration Profile.'), ('MessageArgs', []), ('MessageId', 'SYS053'), ('Name', 'Import Configuration'), ('PercentComplete', 100), ('StartTime', 'TIME_NOW'), ('Status', 'Success'), ('TargetSettingsURI', None), ('retval', True)])) +eventing_status (success, dict, {'CompletionTime': '2020-04-02T02:43:28', 'Description': 'Job Instance', 'EndTime': None, 'Id': 'JID_12345123456', 'JobState': 'Completed', 'JobType': 'ImportConfiguration', 'Message': 'Successfully imported and applied Server Configuration Profile.', 'MessageArgs': [], 'MessageId': 'SYS053', 'Name': 'Import Configuration', 'PercentComplete': 100, 'StartTime': 'TIME_NOW', 'Status': 'Success', 'TargetSettingsURI': None, 'retval': True}) Configures the iDRAC eventing attributes. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/dellemc_configure_idrac_services.rst b/ansible_collections/dellemc/openmanage/docs/modules/dellemc_configure_idrac_services.rst index 02e803fec..73eac109f 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/dellemc_configure_idrac_services.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/dellemc_configure_idrac_services.rst @@ -21,7 +21,7 @@ Requirements The below requirements are needed on the host that executes this module. - omsdk >= 1.2.488 -- python >= 3.8.6 +- python >= 3.9.6 @@ -45,11 +45,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -145,7 +145,8 @@ Notes .. note:: - This module requires 'Administrator' privilege for *idrac_user*. - - Run this module from a system that has direct access to Dell EMC iDRAC. + - 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 supports ``check_mode``. @@ -160,24 +161,24 @@ Examples --- - name: Configure the iDRAC services attributes dellemc.openmanage.dellemc_configure_idrac_services: - idrac_ip: "192.168.0.1" - idrac_user: "user_name" - idrac_password: "user_password" - ca_path: "/path/to/ca_cert.pem" - enable_web_server: "Enabled" - http_port: 80 - https_port: 443 - ssl_encryption: "Auto_Negotiate" - tls_protocol: "TLS_1_2_Only" - timeout: "1800" - snmp_enable: "Enabled" - snmp_protocol: "SNMPv3" - community_name: "public" - alert_port: 162 - discovery_port: 161 - trap_format: "SNMPv3" - ipmi_lan: - community_name: "public" + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + ca_path: "/path/to/ca_cert.pem" + enable_web_server: "Enabled" + http_port: 80 + https_port: 443 + ssl_encryption: "Auto_Negotiate" + tls_protocol: "TLS_1_2_Only" + timeout: "1800" + snmp_enable: "Enabled" + snmp_protocol: "SNMPv3" + community_name: "public" + alert_port: 162 + discovery_port: 161 + trap_format: "SNMPv3" + ipmi_lan: + community_name: "public" @@ -188,11 +189,11 @@ msg (always, str, Successfully configured the iDRAC services settings.) Overall status of iDRAC service attributes configuration. -service_status (success, dict, AnsibleMapping([('CompletionTime', '2020-04-02T02:43:28'), ('Description', 'Job Instance'), ('EndTime', None), ('Id', 'JID_12345123456'), ('JobState', 'Completed'), ('JobType', 'ImportConfiguration'), ('Message', 'Successfully imported and applied Server Configuration Profile.'), ('MessageArgs', []), ('MessageId', 'SYS053'), ('Name', 'Import Configuration'), ('PercentComplete', 100), ('StartTime', 'TIME_NOW'), ('Status', 'Success'), ('TargetSettingsURI', None), ('retval', True)])) +service_status (success, dict, {'CompletionTime': '2020-04-02T02:43:28', 'Description': 'Job Instance', 'EndTime': None, 'Id': 'JID_12345123456', 'JobState': 'Completed', 'JobType': 'ImportConfiguration', 'Message': 'Successfully imported and applied Server Configuration Profile.', 'MessageArgs': [], 'MessageId': 'SYS053', 'Name': 'Import Configuration', 'PercentComplete': 100, 'StartTime': 'TIME_NOW', 'Status': 'Success', 'TargetSettingsURI': None, 'retval': True}) Details of iDRAC services attributes configuration. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/dellemc_get_firmware_inventory.rst b/ansible_collections/dellemc/openmanage/docs/modules/dellemc_get_firmware_inventory.rst deleted file mode 100644 index 14b844316..000000000 --- a/ansible_collections/dellemc/openmanage/docs/modules/dellemc_get_firmware_inventory.rst +++ /dev/null @@ -1,107 +0,0 @@ -.. _dellemc_get_firmware_inventory_module: - - -dellemc_get_firmware_inventory -- Get Firmware Inventory -======================================================== - -.. contents:: - :local: - :depth: 1 - - -Synopsis --------- - -Get Firmware Inventory. - - - -Requirements ------------- -The below requirements are needed on the host that executes this module. - -- omsdk >= 1.2.488 -- python >= 3.8.6 - - - -Parameters ----------- - - idrac_ip (True, str, None) - iDRAC IP Address. - - - idrac_user (True, str, None) - iDRAC username. - - - idrac_password (True, str, None) - iDRAC user password. - - - idrac_port (optional, int, 443) - iDRAC port. - - - validate_certs (optional, bool, True) - 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. - - - ca_path (optional, path, None) - The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. - - - timeout (optional, int, 30) - The socket level timeout in seconds. - - - - - -Notes ------ - -.. note:: - - Run this module from a system that has direct access to DellEMC iDRAC. - - This module supports ``check_mode``. - - - - -Examples --------- - -.. code-block:: yaml+jinja - - - --- - - name: Get Installed Firmware Inventory - dellemc.openmanage.dellemc_get_firmware_inventory: - idrac_ip: "192.168.0.1" - idrac_user: "user_name" - idrac_password: "user_password" - ca_path: "/path/to/ca_cert.pem" - - - - - -Status ------- - - -- This module will be removed in version - . - *[deprecated]* - - -Authors -~~~~~~~ - -- Rajeev Arakkal (@rajeevarakkal) - diff --git a/ansible_collections/dellemc/openmanage/docs/modules/dellemc_get_system_inventory.rst b/ansible_collections/dellemc/openmanage/docs/modules/dellemc_get_system_inventory.rst deleted file mode 100644 index 3babb0325..000000000 --- a/ansible_collections/dellemc/openmanage/docs/modules/dellemc_get_system_inventory.rst +++ /dev/null @@ -1,107 +0,0 @@ -.. _dellemc_get_system_inventory_module: - - -dellemc_get_system_inventory -- Get the PowerEdge Server System Inventory -========================================================================= - -.. contents:: - :local: - :depth: 1 - - -Synopsis --------- - -Get the PowerEdge Server System Inventory. - - - -Requirements ------------- -The below requirements are needed on the host that executes this module. - -- omsdk >= 1.2.488 -- python >= 3.8.6 - - - -Parameters ----------- - - idrac_ip (True, str, None) - iDRAC IP Address. - - - idrac_user (True, str, None) - iDRAC username. - - - idrac_password (True, str, None) - iDRAC user password. - - - idrac_port (optional, int, 443) - iDRAC port. - - - validate_certs (optional, bool, True) - 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. - - - ca_path (optional, path, None) - The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. - - - timeout (optional, int, 30) - The socket level timeout in seconds. - - - - - -Notes ------ - -.. note:: - - Run this module from a system that has direct access to DellEMC iDRAC. - - This module supports ``check_mode``. - - - - -Examples --------- - -.. code-block:: yaml+jinja - - - --- - - name: Get System Inventory - dellemc.openmanage.dellemc_get_system_inventory: - idrac_ip: "192.168.0.1" - idrac_user: "user_name" - idrac_password: "user_password" - ca_path: "/path/to/ca_cert.pem" - - - - - -Status ------- - - -- This module will be removed in version - . - *[deprecated]* - - -Authors -~~~~~~~ - -- Rajeev Arakkal (@rajeevarakkal) - diff --git a/ansible_collections/dellemc/openmanage/docs/modules/dellemc_idrac_lc_attributes.rst b/ansible_collections/dellemc/openmanage/docs/modules/dellemc_idrac_lc_attributes.rst index 0459b5a45..774442469 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/dellemc_idrac_lc_attributes.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/dellemc_idrac_lc_attributes.rst @@ -21,7 +21,7 @@ Requirements The below requirements are needed on the host that executes this module. - omsdk >= 1.2.488 -- python >= 3.8.6 +- python >= 3.9.6 @@ -73,11 +73,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -96,7 +96,8 @@ Notes .. note:: - This module requires 'Administrator' privilege for *idrac_user*. - - Run this module from a system that has direct access to Dell EMC iDRAC. + - 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 supports ``check_mode``. @@ -111,11 +112,11 @@ Examples --- - name: Set up iDRAC LC Attributes dellemc.openmanage.dellemc_idrac_lc_attributes: - idrac_ip: "192.168.0.1" - idrac_user: "user_name" - idrac_password: "user_password" - ca_path: "/path/to/ca_cert.pem" - csior: "Enabled" + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + ca_path: "/path/to/ca_cert.pem" + csior: "Enabled" @@ -126,11 +127,11 @@ msg (always, str, Successfully configured the iDRAC LC attributes.) Overall status of iDRAC LC attributes configuration. -lc_attribute_status (success, dict, AnsibleMapping([('CompletionTime', '2020-03-30T00:06:53'), ('Description', 'Job Instance'), ('EndTime', None), ('Id', 'JID_1234512345'), ('JobState', 'Completed'), ('JobType', 'ImportConfiguration'), ('Message', 'Successfully imported and applied Server Configuration Profile.'), ('MessageArgs', []), ('MessageArgs@odata.count', 0), ('MessageId', 'SYS053'), ('Name', 'Import Configuration'), ('PercentComplete', 100), ('StartTime', 'TIME_NOW'), ('Status', 'Success'), ('TargetSettingsURI', None), ('retval', True)])) +lc_attribute_status (success, dict, {'CompletionTime': '2020-03-30T00:06:53', 'Description': 'Job Instance', 'EndTime': None, 'Id': 'JID_1234512345', 'JobState': 'Completed', 'JobType': 'ImportConfiguration', 'Message': 'Successfully imported and applied Server Configuration Profile.', 'MessageArgs': [], 'MessageArgs@odata.count': 0, 'MessageId': 'SYS053', 'Name': 'Import Configuration', 'PercentComplete': 100, 'StartTime': 'TIME_NOW', 'Status': 'Success', 'TargetSettingsURI': None, 'retval': True}) Collect System Inventory on Restart (CSIOR) property for all iDRAC/LC jobs is configured. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/dellemc_idrac_storage_volume.rst b/ansible_collections/dellemc/openmanage/docs/modules/dellemc_idrac_storage_volume.rst index d15aee678..f7e425dbc 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/dellemc_idrac_storage_volume.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/dellemc_idrac_storage_volume.rst @@ -21,7 +21,7 @@ Requirements The below requirements are needed on the host that executes this module. - omsdk >= 1.2.488 -- python >= 3.8.6 +- python >= 3.9.6 @@ -129,11 +129,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -151,7 +151,8 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC iDRAC. + - 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 supports ``check_mode``. @@ -204,7 +205,7 @@ Examples span_length: 3 span_depth: 1 drives: - location: [7,3,5] + location: [7, 3, 5] disk_cache_policy: "Disabled" write_cache_policy: "WriteBack" read_cache_policy: "NoReadAhead" @@ -260,7 +261,7 @@ msg (always, str, Successfully completed the view storage volume operation) Overall status of the storage configuration operation. -storage_status (success, dict, AnsibleMapping([('Id', 'JID_XXXXXXXXX'), ('JobState', 'Completed'), ('JobType', 'ImportConfiguration'), ('Message', 'Successfully imported and applied Server Configuration Profile.'), ('MessageId', 'XXX123'), ('Name', 'Import Configuration'), ('PercentComplete', 100), ('StartTime', 'TIME_NOW'), ('Status', 'Success'), ('TargetSettingsURI', None), ('retval', True)])) +storage_status (success, dict, {'Id': 'JID_XXXXXXXXX', 'JobState': 'Completed', 'JobType': 'ImportConfiguration', 'Message': 'Successfully imported and applied Server Configuration Profile.', 'MessageId': 'XXX123', 'Name': 'Import Configuration', 'PercentComplete': 100, 'StartTime': 'TIME_NOW', 'Status': 'Success', 'TargetSettingsURI': None, 'retval': True}) Storage configuration job and progress details from the iDRAC. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/dellemc_system_lockdown_mode.rst b/ansible_collections/dellemc/openmanage/docs/modules/dellemc_system_lockdown_mode.rst index 66d9c7b80..1fca74e82 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/dellemc_system_lockdown_mode.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/dellemc_system_lockdown_mode.rst @@ -21,7 +21,7 @@ Requirements The below requirements are needed on the host that executes this module. - omsdk >= 1.2.488 -- python >= 3.8.6 +- python >= 3.9.6 @@ -73,11 +73,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -96,7 +96,8 @@ Notes .. note:: - This module requires 'Administrator' privilege for *idrac_user*. - - Run this module from a system that has direct access to Dell EMC iDRAC. + - 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 does not support ``check_mode``. @@ -111,11 +112,11 @@ Examples --- - name: Check System Lockdown Mode dellemc.openmanage.dellemc_system_lockdown_mode: - idrac_ip: "192.168.0.1" - idrac_user: "user_name" - idrac_password: "user_password" - ca_path: "/path/to/ca_cert.pem" - lockdown_mode: "Disabled" + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + ca_path: "/path/to/ca_cert.pem" + lockdown_mode: "Disabled" @@ -126,11 +127,11 @@ msg (always, str, Successfully completed the lockdown mode operations.) Lockdown mode of the system is configured. -system_lockdown_status (success, dict, AnsibleMapping([('Data', AnsibleMapping([('StatusCode', 200), ('body', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Successfully Completed Request'), ('MessageArgs', []), ('MessageArgs@odata.count', 0), ('MessageId', 'Base.1.0.Success'), ('RelatedProperties', []), ('RelatedProperties@odata.count', 0), ('Resolution', 'None'), ('Severity', 'OK')])])]))])), ('Message', 'none'), ('Status', 'Success'), ('StatusCode', 200), ('retval', True)])) +system_lockdown_status (success, dict, {'Data': {'StatusCode': 200, 'body': {'@Message.ExtendedInfo': [{'Message': 'Successfully Completed Request', 'MessageArgs': [], 'MessageArgs@odata.count': 0, 'MessageId': 'Base.1.0.Success', 'RelatedProperties': [], 'RelatedProperties@odata.count': 0, 'Resolution': 'None', 'Severity': 'OK'}]}}, 'Message': 'none', 'Status': 'Success', 'StatusCode': 200, 'retval': True}) Storage configuration job and progress details from the iDRAC. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_attributes.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_attributes.rst index b0512bd13..13ffa9fa3 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_attributes.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_attributes.rst @@ -30,19 +30,19 @@ Parameters idrac_attributes (optional, dict, None) Dictionary of iDRAC attributes and value. The attributes should be part of the Integrated Dell Remote Access Controller Attribute Registry. To view the list of attributes in Attribute Registry for iDRAC9 and above, see, https://*idrac_ip*/redfish/v1/Managers/iDRAC.Embedded.1/Oem/Dell/DellAttributes/iDRAC.Embedded.1 and https://*idrac_ip*/redfish/v1/Registries/ManagerAttributeRegistry. - For iDRAC7 and iDRAC8 based servers, derive the manager attribute name from Server Configuration Profile. If the manager attribute name in Server Configuration Profile is <GroupName>.<Instance>#<AttributeName> (for Example, 'SNMP.1#AgentCommunity') then the equivalent attribute name for Redfish is <GroupName>.<Instance>.<AttributeName> (for Example, 'SNMP.1.AgentCommunity'). + For iDRAC8 based servers, derive the manager attribute name from Server Configuration Profile. If the manager attribute name in Server Configuration Profile is <GroupName>.<Instance>#<AttributeName> (for Example, 'SNMP.1#AgentCommunity') then the equivalent attribute name for Redfish is <GroupName>.<Instance>.<AttributeName> (for Example, 'SNMP.1.AgentCommunity'). system_attributes (optional, dict, None) Dictionary of System attributes and value. The attributes should be part of the Integrated Dell Remote Access Controller Attribute Registry. To view the list of attributes in Attribute Registry for iDRAC9 and above, see, https://*idrac_ip*/redfish/v1/Managers/iDRAC.Embedded.1/Oem/Dell/DellAttributes/System.Embedded.1 and https://*idrac_ip*/redfish/v1/Registries/ManagerAttributeRegistry. - For iDRAC7 and iDRAC8 based servers, derive the manager attribute name from Server Configuration Profile. If the manager attribute name in Server Configuration Profile is <GroupName>.<Instance>#<AttributeName> (for Example, 'ThermalSettings.1#ThermalProfile') then the equivalent attribute name for Redfish is <GroupName>.<Instance>.<AttributeName> (for Example, 'ThermalSettings.1.ThermalProfile'). + For iDRAC8 based servers, derive the manager attribute name from Server Configuration Profile. If the manager attribute name in Server Configuration Profile is <GroupName>.<Instance>#<AttributeName> (for Example, 'ThermalSettings.1#ThermalProfile') then the equivalent attribute name for Redfish is <GroupName>.<Instance>.<AttributeName> (for Example, 'ThermalSettings.1.ThermalProfile'). lifecycle_controller_attributes (optional, dict, None) Dictionary of Lifecycle Controller attributes and value. The attributes should be part of the Integrated Dell Remote Access Controller Attribute Registry.To view the list of attributes in Attribute Registry for iDRAC9 and above, see, https://*idrac_ip*/redfish/v1/Managers/iDRAC.Embedded.1/Oem/Dell/DellAttributes/LifecycleController.Embedded.1 and https://*idrac_ip*/redfish/v1/Registries/ManagerAttributeRegistry. - For iDRAC7 and iDRAC8 based servers, derive the manager attribute name from Server Configuration Profile. If the manager attribute name in Server Configuration Profile is <GroupName>.<Instance>#<AttributeName> (for Example, 'LCAttributes.1#AutoUpdate') then the equivalent attribute name for Redfish is <GroupName>.<Instance>.<AttributeName> (for Example, 'LCAttributes.1.AutoUpdate'). + For iDRAC8 based servers, derive the manager attribute name from Server Configuration Profile. If the manager attribute name in Server Configuration Profile is <GroupName>.<Instance>#<AttributeName> (for Example, 'LCAttributes.1#AutoUpdate') then the equivalent attribute name for Redfish is <GroupName>.<Instance>.<AttributeName> (for Example, 'LCAttributes.1.AutoUpdate'). resource_id (optional, str, None) @@ -66,11 +66,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -90,7 +90,7 @@ Notes .. note:: - Run this module from a system that has direct access to Dell iDRAC. - This module supports ``check_mode``. - - For iDRAC7 and iDRAC8 based servers, the value provided for the attributes are not be validated. Ensure appropriate values are passed. + - For iDRAC8 based servers, the value provided for the attributes are not be validated. Ensure appropriate values are passed. @@ -215,7 +215,7 @@ Examples idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" idrac_attributes: - Time.1.TimeZone: CST6CDT + Time.1.Timezone: CST6CDT NTPConfigGroup.1.NTPEnable: Enabled NTPConfigGroup.1.NTP1: 192.168.0.5 NTPConfigGroup.1.NTP2: 192.168.0.6 @@ -245,11 +245,11 @@ msg (always, str, Successfully updated the attributes.) Status of the attribute update operation. -invalid_attributes (on invalid attributes or values., dict, AnsibleMapping([('LCAttributes.1.AutoUpdate', 'Invalid value for Enumeration.'), ('LCAttributes.1.StorageHealthRollupStatus', 'Read only Attribute cannot be modified.'), ('SNMP.1.AlertPort', 'Not a valid integer.'), ('SNMP.1.AlertPorty', 'Attribute does not exist.'), ('SysLog.1.PowerLogInterval', 'Integer out of valid range.'), ('ThermalSettings.1.AirExhaustTemp', 'Invalid value for Enumeration.')])) +invalid_attributes (on invalid attributes or values., dict, {'LCAttributes.1.AutoUpdate': 'Invalid value for Enumeration.', 'LCAttributes.1.StorageHealthRollupStatus': 'Read only Attribute cannot be modified.', 'SNMP.1.AlertPort': 'Not a valid integer.', 'SNMP.1.AlertPorty': 'Attribute does not exist.', 'SysLog.1.PowerLogInterval': 'Integer out of valid range.', 'ThermalSettings.1.AirExhaustTemp': 'Invalid value for Enumeration.'}) Dict of invalid attributes provided. -error_info (when attribute value is invalid., dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', "The value 'false' for the property LCAttributes.1.BIOSRTDRequested is of a different type than the property can accept."), ('MessageArgs', ['false', 'LCAttributes.1.BIOSRTDRequested']), ('MessageArgs@odata.count', 2), ('MessageId', 'Base.1.12.PropertyValueTypeError'), ('RelatedProperties', ['#/Attributes/LCAttributes.1.BIOSRTDRequested']), ('RelatedProperties@odata.count', 1), ('Resolution', 'Correct the value for the property in the request body and resubmit the request if the operation failed.'), ('Severity', 'Warning')])]), ('code', 'Base.1.12.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information')]))])) +error_info (when attribute value is invalid., dict, {'error': {'@Message.ExtendedInfo': [{'Message': "The value 'false' for the property LCAttributes.1.BIOSRTDRequested is of a different type than the property can accept.", 'MessageArgs': ['false', 'LCAttributes.1.BIOSRTDRequested'], 'MessageArgs@odata.count': 2, 'MessageId': 'Base.1.12.PropertyValueTypeError', 'RelatedProperties': ['#/Attributes/LCAttributes.1.BIOSRTDRequested'], 'RelatedProperties@odata.count': 1, 'Resolution': 'Correct the value for the property in the request body and resubmit the request if the operation failed.', 'Severity': 'Warning'}], 'code': 'Base.1.12.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information'}}) Error information of the operation. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_bios.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_bios.rst index 72f6bc733..569b36553 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_bios.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_bios.rst @@ -23,7 +23,7 @@ Requirements The below requirements are needed on the host that executes this module. - omsdk >= 1.2.490 -- python >= 3.8.6 +- python >= 3.9.6 @@ -92,7 +92,7 @@ Parameters *job_wait* is not applicable. The module waits till the completion of this task. - This feature is deprecated, please use :ref:`idrac_boot <idrac_boot_module>` for configuring boot sources. + This feature is deprecated, please use :ref:`dellemc.openmanage.idrac_boot <dellemc.openmanage.idrac_boot_module>` for configuring boot sources. clear_pending (optional, bool, None) @@ -128,7 +128,7 @@ Parameters ``graceful_restart`` Gracefully reboot the host system. - This is applicable for *attributes*, and *reset_bios*. + This is applicable for *reset_bios*, and *attributes* when *apply_time* is ``Immediate``. job_wait (optional, bool, True) @@ -140,7 +140,7 @@ Parameters job_wait_timeout (optional, int, 1200) The maximum wait time of *job_wait* in seconds. The job is tracked only for this duration. - This option is applicable when *job_wait* is ``True``. + This option is applicable when *job_wait* is ``true``. idrac_ip (True, str, None) @@ -160,11 +160,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -185,6 +185,7 @@ Notes - omsdk is required to be installed only for *boot_sources* operation. - This module requires 'Administrator' privilege for *idrac_user*. - 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 supports ``check_mode``. @@ -199,20 +200,20 @@ Examples --- - name: Configure generic attributes of the BIOS dellemc.openmanage.idrac_bios: - idrac_ip: "192.168.0.1" + idrac_ip: "192.168.0.1" idrac_user: "user_name" - idrac_password: "user_password" + idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" attributes: - BootMode : "Bios" + BootMode: "Bios" OneTimeBootMode: "Enabled" BootSeqRetry: "Enabled" - name: Configure PXE generic attributes dellemc.openmanage.idrac_bios: - idrac_ip: "192.168.0.1" + idrac_ip: "192.168.0.1" idrac_user: "user_name" - idrac_password: "user_password" + idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" attributes: PxeDev1EnDis: "Enabled" @@ -224,82 +225,82 @@ Examples - name: Configure BIOS attributes at Maintenance window dellemc.openmanage.idrac_bios: - idrac_ip: "192.168.0.1" + idrac_ip: "192.168.0.1" idrac_user: "user_name" - idrac_password: "user_password" + idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" apply_time: AtMaintenanceWindowStart maintenance_window: start_time: "2022-09-30T05:15:40-05:00" duration: 600 attributes: - BootMode : "Bios" + BootMode: "Bios" OneTimeBootMode: "Enabled" BootSeqRetry: "Enabled" - name: Clear pending BIOS attributes dellemc.openmanage.idrac_bios: - idrac_ip: "192.168.0.1" + idrac_ip: "192.168.0.1" idrac_user: "user_name" - idrac_password: "user_password" + idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" - clear_pending: yes + clear_pending: true - name: Reset BIOS attributes to default settings. dellemc.openmanage.idrac_bios: - idrac_ip: "{{ idrac_ip }}" - idrac_user: "{{ idrac_user }}" - idrac_password: "{{ idrac_pwd }}" - validate_certs: False - reset_bios: yes + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + validate_certs: false + reset_bios: true - name: Configure boot sources dellemc.openmanage.idrac_bios: - idrac_ip: "192.168.0.1" + idrac_ip: "192.168.0.1" idrac_user: "user_name" - idrac_password: "user_password" + idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" boot_sources: - - Name : "NIC.Integrated.1-2-3" - Enabled : true - Index : 0 + - Name: "NIC.Integrated.1-2-3" + Enabled: true + Index: 0 - name: Configure multiple boot sources dellemc.openmanage.idrac_bios: - idrac_ip: "192.168.0.1" + idrac_ip: "192.168.0.1" idrac_user: "user_name" - idrac_password: "user_password" + idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" boot_sources: - - Name : "NIC.Integrated.1-1-1" - Enabled : true - Index : 0 - - Name : "NIC.Integrated.2-2-2" - Enabled : true - Index : 1 - - Name : "NIC.Integrated.3-3-3" - Enabled : true - Index : 2 + - Name: "NIC.Integrated.1-1-1" + Enabled: true + Index: 0 + - Name: "NIC.Integrated.2-2-2" + Enabled: true + Index: 1 + - Name: "NIC.Integrated.3-3-3" + Enabled: true + Index: 2 - name: Configure boot sources - Enabling dellemc.openmanage.idrac_bios: - idrac_ip: "192.168.0.1" + idrac_ip: "192.168.0.1" idrac_user: "user_name" - idrac_password: "user_password" + idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" boot_sources: - - Name : "NIC.Integrated.1-1-1" - Enabled : true + - Name: "NIC.Integrated.1-1-1" + Enabled: true - name: Configure boot sources - Index dellemc.openmanage.idrac_bios: - idrac_ip: "192.168.0.1" + idrac_ip: "192.168.0.1" idrac_user: "user_name" - idrac_password: "user_password" + idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" boot_sources: - - Name : "NIC.Integrated.1-1-1" - Index : 0 + - Name: "NIC.Integrated.1-1-1" + Index: 0 @@ -314,7 +315,7 @@ msg (success, dict, {'CompletionTime': '2020-04-20T18:50:20', 'Description': 'Jo Status of the job for *boot_sources* or status of the action performed on bios. -invalid_attributes (on invalid attributes or values., dict, {'NumLock': 'Invalid value for Enumeration.', 'SystemModelName': 'Read only Attribute cannot be modified.', 'AlertPort': 'Not a valid integer.', 'AssetTag': 'Attribute does not exist.', 'PowerLogInterval': 'Integer out of valid range.', 'AirExhaustTemp': 'Invalid value for Enumeration.'}) +invalid_attributes (on invalid attributes or values., dict, {'PxeDev1VlanId': 'Not a valid integer.', 'AcPwrRcvryUserDelay': 'Integer out of valid range.', 'BootSeqRetry': 'Invalid value for Enumeration.', 'Proc1Brand': 'Read only Attribute cannot be modified.', 'AssetTag': 'Attribute does not exist.'}) Dict of invalid attributes provided. @@ -338,4 +339,5 @@ Authors - Felix Stephen (@felixs88) - Anooja Vardhineni (@anooja-vardhineni) - Jagadeesh N V (@jagadeeshnv) +- Shivam Sharma (@shivam-sharma) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_boot.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_boot.rst index 3825c0a62..980423ee2 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_boot.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_boot.rst @@ -75,7 +75,7 @@ Parameters ``continuous`` The system boots to the target specified in the *boot_source_override_target* until this property is set to Disabled. - The state is set to ``once`` for the one-time boot override and ``continuous`` for the remain-active-until—canceled override. If the state is set ``once``, the value is reset to ``disabled`` after the *boot_source_override_target* actions have completed successfully. + The state is set to ``once`` for the one-time boot override and ``continuous`` for the remain-active-until—canceled override. If the state is set ``once`` or ``continuous``, the value is reset to ``disabled`` after the *boot_source_override_target* actions have completed successfully. Changes to this options do not alter the BIOS persistent boot order configuration. @@ -117,9 +117,9 @@ Parameters reset_type (optional, str, graceful_restart) ``none`` Host system is not rebooted and *job_wait* is not applicable. - ``force_reset`` Forcefully reboot the Host system. + ``force_restart`` Forcefully reboot the Host system. - ``graceful_reset`` Gracefully reboot the Host system. + ``graceful_restart`` Gracefully reboot the Host system. job_wait (optional, bool, True) @@ -131,7 +131,7 @@ Parameters job_wait_timeout (optional, int, 900) The maximum wait time of *job_wait* in seconds. The job is tracked only for this duration. - This option is applicable when *job_wait* is ``True``. + This option is applicable when *job_wait* is ``true``. resource_id (optional, str, None) @@ -155,11 +155,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_certificates.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_certificates.rst index fb7f4ead5..747f15381 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_certificates.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_certificates.rst @@ -20,7 +20,7 @@ Requirements ------------ The below requirements are needed on the host that executes this module. -- python >= 3.8.6 +- python \>= 3.8.6 @@ -28,37 +28,47 @@ Parameters ---------- command (optional, str, generate_csr) - ``generate_csr``, generate CSR. This requires *cert_params* and *certificate_path*. This is applicable only for ``HTTPS`` + \ :literal:`generate\_csr`\ , generate CSR. This requires \ :emphasis:`cert\_params`\ and \ :emphasis:`certificate\_path`\ . This is applicable only for \ :literal:`HTTPS`\ - ``import``, import the certificate file. This requires *certificate_path*. + \ :literal:`import`\ , import the certificate file. This requires \ :emphasis:`certificate\_path`\ . - ``export``, export the certificate. This requires *certificate_path*. + \ :literal:`export`\ , export the certificate. This requires \ :emphasis:`certificate\_path`\ . - ``reset``, reset the certificate to default settings. This is applicable only for ``HTTPS``. + \ :literal:`reset`\ , reset the certificate to default settings. This is applicable only for \ :literal:`HTTPS`\ . certificate_type (optional, str, HTTPS) Type of the iDRAC certificate. - ``HTTPS`` The Dell self-signed SSL certificate. + \ :literal:`HTTPS`\ The Dell self-signed SSL certificate. - ``CA`` Certificate Authority(CA) signed SSL certificate. + \ :literal:`CA`\ Certificate Authority(CA) signed SSL certificate. - ``CSC`` The custom signed SSL certificate. + \ :literal:`CUSTOMCERTIFICATE`\ The custom PKCS12 certificate and private key. Export of custom certificate is supported only on iDRAC firmware version 7.00.00.00 and above. - ``CLIENT_TRUST_CERTIFICATE`` Client trust certificate. + \ :literal:`CSC`\ The custom signing SSL certificate. + + \ :literal:`CLIENT\_TRUST\_CERTIFICATE`\ Client trust certificate. certificate_path (optional, path, None) - Absolute path of the certificate file if *command* is ``import``. + Absolute path of the certificate file if \ :emphasis:`command`\ is \ :literal:`import`\ . - Directory path with write permissions if *command* is ``generate_csr`` or ``export``. + Directory path with write permissions if \ :emphasis:`command`\ is \ :literal:`generate\_csr`\ or \ :literal:`export`\ . passphrase (optional, str, None) The passphrase string if the certificate to be imported is passphrase protected. + ssl_key (optional, path, None) + Absolute path of the private or SSL key file. + + This is applicable only when \ :emphasis:`command`\ is \ :literal:`import`\ and \ :emphasis:`certificate\_type`\ is \ :literal:`HTTPS`\ . + + Uploading the SSL key to iDRAC is supported on firmware version 6.00.02.00 and above. + + cert_params (optional, dict, None) Certificate parameters to generate signing request. @@ -83,7 +93,7 @@ Parameters The country code of the country where the entity applying for certification is located. - email_address (True, str, None) + email_address (optional, str, None) The email associated with the CSR. @@ -103,13 +113,13 @@ Parameters reset (optional, bool, True) To reset the iDRAC after the certificate operation. - This is applicable when *command* is ``import`` or ``reset``. + This is applicable when \ :emphasis:`command`\ is \ :literal:`import`\ or \ :literal:`reset`\ . wait (optional, int, 300) Maximum wait time for iDRAC to start after the reset, in seconds. - This is applicable when *command* is ``import`` or ``reset`` and *reset* is ``True``. + This is applicable when \ :emphasis:`command`\ is \ :literal:`import`\ or \ :literal:`reset`\ and \ :emphasis:`reset`\ is \ :literal:`true`\ . idrac_ip (True, str, None) @@ -129,11 +139,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If \ :literal:`false`\ , the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + Configure \ :literal:`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. + Prior to collection version \ :literal:`5.0.0`\ , the \ :emphasis:`validate\_certs`\ is \ :literal:`false`\ by default. ca_path (optional, path, None) @@ -151,9 +161,10 @@ Notes ----- .. note:: - - The certificate operations are supported on iDRAC firmware 5.10.10.00 and above. + - The certificate operations are supported on iDRAC firmware version 6.10.80.00 and above. - Run this module from a system that has direct access to Dell iDRAC. - - This module supports ``check_mode``. + - This module supports \ :literal:`check\_mode`\ . + - This module supports IPv4 and IPv6 addresses. @@ -195,6 +206,17 @@ Examples certificate_type: "HTTPS" certificate_path: "/path/to/cert.pem" + - name: Import an HTTPS certificate along with its private key. + dellemc.openmanage.idrac_certificates: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + ca_path: "/path/to/ca_cert.pem" + command: "import" + certificate_type: "HTTPS" + certificate_path: "/path/to/cert.pem" + ssl_key: "/path/to/private_key.pem" + - name: Export a HTTPS certificate. dellemc.openmanage.idrac_certificates: idrac_ip: "192.168.0.1" @@ -215,6 +237,17 @@ Examples certificate_type: "CSC" certificate_path: "/path/to/cert.pem" + - name: Import a custom certificate with a passphrase. + dellemc.openmanage.idrac_certificates: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + command: "import" + certificate_type: "CUSTOMCERTIFICATE" + certificate_path: "/path/to/idrac_cert.p12" + passphrase: "cert_passphrase" + reset: false + - name: Export a Client trust certificate. dellemc.openmanage.idrac_certificates: idrac_ip: "192.168.0.1" @@ -230,7 +263,7 @@ Examples Return Values ------------- -msg (always, str, Successfully performed the operation generate_csr.) +msg (always, str, Successfully performed the 'generate_csr' certificate operation.) Status of the certificate configuration operation. @@ -238,7 +271,7 @@ certificate_path (when I(command) is C(export) or C(generate_csr), str, /home/an The csr or exported certificate file path -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. @@ -256,4 +289,6 @@ Authors ~~~~~~~ - Jagadeesh N V(@jagadeeshnv) +- Rajshekar P(@rajshekarp87) +- Kristian Lamb V(@kristian_lamb) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_firmware.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_firmware.rst index 99c5f147a..1cbb31095 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_firmware.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_firmware.rst @@ -26,8 +26,8 @@ Requirements ------------ The below requirements are needed on the host that executes this module. -- omsdk >= 1.2.488 -- python >= 3.8.6 +- omsdk >= 1.2.503 +- python >= 3.9.6 @@ -61,25 +61,73 @@ Parameters ignore_cert_warning (optional, bool, True) - Specifies if certificate warnings are ignored when HTTPS share is used. If ``True`` option is set, then the certificate warnings are ignored. + Specifies if certificate warnings are ignored when HTTPS share is used. If ``true`` option is set, then the certificate warnings are ignored. apply_update (optional, bool, True) - If *apply_update* is set to ``True``, then the packages are applied. + If *apply_update* is set to ``true``, then the packages are applied. - If *apply_update* is set to ``False``, no updates are applied, and a catalog report of packages is generated and returned. + If *apply_update* is set to ``false``, no updates are applied, and a catalog report of packages is generated and returned. reboot (optional, bool, False) Provides the option to apply the update packages immediately or in the next reboot. - If *reboot* is set to ``True``, then the packages are applied immediately. + If *reboot* is set to ``true``, then the packages are applied immediately. - If *reboot* is set to ``False``, then the packages are staged and applied in the next reboot. + If *reboot* is set to ``false``, then the packages are staged and applied in the next reboot. Packages that do not require a reboot are applied immediately irrespective of I (reboot). + proxy_support (optional, str, Off) + Specifies if a proxy should be used. + + Proxy parameters are applicable on ``HTTP``, ``HTTPS``, and ``FTP`` share type of repositories. + + ``ParametersProxy``, sets the proxy parameters for the current firmware operation. + + ``DefaultProxy``, iDRAC uses the proxy values set by default. + + Default Proxy can be set in the Lifecycle Controller attributes using :ref:`dellemc.openmanage.idrac_attributes <dellemc.openmanage.idrac_attributes_module>`. + + ``Off``, will not use the proxy. + + For iDRAC8 based servers, use proxy server with basic authentication. + + For iDRAC9 based servers, ensure that you use digest authentication for the proxy server, basic authentication is not supported. + + + proxy_server (optional, str, None) + The IP address of the proxy server. + + This IP will not be validated. The download job will be created even for invalid *proxy_server*. Please check the results of the job for error details. + + This is required when *proxy_support* is ``ParametersProxy``. + + + proxy_port (optional, int, None) + The Port for the proxy server. + + This is required when *proxy_support* is ``ParametersProxy``. + + + proxy_type (optional, str, None) + The proxy type of the proxy server. + + This is required when *proxy_support* is ``ParametersProxy``. + + Note: SOCKS4 proxy does not support IPv6 address. + + + proxy_uname (optional, str, None) + The user name for the proxy server. + + + proxy_passwd (optional, str, None) + The password for the proxy server. + + idrac_ip (True, str, None) iDRAC IP Address. @@ -97,11 +145,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -119,9 +167,10 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC iDRAC. + - Run this module from a system that has direct access to Dell iDRAC. - Module will report success based on the iDRAC firmware update parent job status if there are no individual component jobs present. - For server with iDRAC firmware 5.00.00.00 and later, if the repository contains unsupported packages, then the module will return success with a proper message. + - This module supports both IPv4 and IPv6 address for *idrac_ip* and *share_name*. - This module supports ``check_mode``. @@ -141,9 +190,9 @@ Examples idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" share_name: "192.168.0.0:/share" - reboot: True - job_wait: True - apply_update: True + reboot: true + job_wait: true + apply_update: true catalog_file_name: "Catalog.xml" - name: Update firmware from repository on a CIFS Share @@ -155,9 +204,9 @@ Examples share_name: "full_cifs_path" share_user: "share_user" share_password: "share_password" - reboot: True - job_wait: True - apply_update: True + reboot: true + job_wait: true + apply_update: true catalog_file_name: "Catalog.xml" - name: Update firmware from repository on a HTTP @@ -167,9 +216,9 @@ Examples idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" share_name: "http://downloads.dell.com" - reboot: True - job_wait: True - apply_update: True + reboot: true + job_wait: true + apply_update: true - name: Update firmware from repository on a HTTPS dellemc.openmanage.idrac_firmware: @@ -178,9 +227,26 @@ Examples idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" share_name: "https://downloads.dell.com" - reboot: True - job_wait: True - apply_update: True + reboot: true + job_wait: true + apply_update: true + + - name: Update firmware from repository on a HTTPS via proxy + dellemc.openmanage.idrac_firmware: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + ca_path: "/path/to/ca_cert.pem" + share_name: "https://downloads.dell.com" + reboot: true + job_wait: true + apply_update: true + proxy_support: ParametersProxy + proxy_server: 192.168.1.10 + proxy_type: HTTP + proxy_port: 80 + proxy_uname: "proxy_user" + proxy_passwd: "proxy_pwd" - name: Update firmware from repository on a FTP dellemc.openmanage.idrac_firmware: @@ -188,10 +254,10 @@ Examples idrac_user: "user_name" idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" - share_name: "ftp://ftp.dell.com" - reboot: True - job_wait: True - apply_update: True + share_name: "ftp://ftp.mydomain.com" + reboot: true + job_wait: true + apply_update: true @@ -202,7 +268,7 @@ msg (always, str, Successfully updated the firmware.) Overall firmware update status. -update_status (success, dict, AnsibleMapping([('InstanceID', 'JID_XXXXXXXXXXXX'), ('JobState', 'Completed'), ('Message', 'Job completed successfully.'), ('MessageId', 'REDXXX'), ('Name', 'Repository Update'), ('JobStartTime', 'NA'), ('Status', 'Success')])) +update_status (success, dict, {'InstanceID': 'JID_XXXXXXXXXXXX', 'JobState': 'Completed', 'Message': 'Job completed successfully.', 'MessageId': 'REDXXX', 'Name': 'Repository Update', 'JobStartTime': 'NA', 'Status': 'Success'}) Firmware Update job and progress details from the iDRAC. @@ -221,4 +287,5 @@ Authors - Rajeev Arakkal (@rajeevarakkal) - Felix Stephen (@felixs88) +- Jagadeesh N V (@jagadeeshnv) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_firmware_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_firmware_info.rst index b6eda6ae4..04c46a32e 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_firmware_info.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_firmware_info.rst @@ -21,7 +21,7 @@ Requirements The below requirements are needed on the host that executes this module. - omsdk >= 1.2.488 -- python >= 3.8.6 +- python >= 3.9.6 @@ -45,11 +45,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -67,7 +67,8 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC iDRAC. + - 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 supports ``check_mode``. @@ -82,10 +83,10 @@ Examples --- - name: Get Installed Firmware Inventory dellemc.openmanage.idrac_firmware_info: - idrac_ip: "192.168.0.1" - idrac_user: "user_name" - idrac_password: "user_password" - ca_path: "/path/to/ca_cert.pem" + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + ca_path: "/path/to/ca_cert.pem" @@ -96,11 +97,11 @@ msg (always, str, Successfully fetched the firmware inventory details.) Fetching the firmware inventory details. -firmware_info (success, dict, AnsibleMapping([('Firmware', [AnsibleMapping([('BuildNumber', '0'), ('Classifications', '10'), ('ComponentID', '102573'), ('ComponentType', 'FRMW'), ('DeviceID', None), ('ElementName', 'Power Supply.Slot.1'), ('FQDD', 'PSU.Slot.1'), ('HashValue', None), ('IdentityInfoType', 'OrgID:ComponentType:ComponentID'), ('IdentityInfoValue', 'DCIM:firmware:102573'), ('InstallationDate', '2018-11-22T03:58:23Z'), ('InstanceID', 'DCIM:INSTALLED#0x15__PSU.Slot.1'), ('IsEntity', 'true'), ('Key', 'DCIM:INSTALLED#0x15__PSU.Slot.1'), ('MajorVersion', '0'), ('MinorVersion', '3'), ('RevisionNumber', '67'), ('RevisionString', None), ('Status', 'Installed'), ('SubDeviceID', None), ('SubVendorID', None), ('Updateable', 'true'), ('VendorID', None), ('VersionString', '00.3D.67'), ('impactsTPMmeasurements', 'false')])])])) +firmware_info (success, dict, {'Firmware': [{'BuildNumber': '0', 'Classifications': '10', 'ComponentID': '102573', 'ComponentType': 'FRMW', 'DeviceID': None, 'ElementName': 'Power Supply.Slot.1', 'FQDD': 'PSU.Slot.1', 'HashValue': None, 'IdentityInfoType': 'OrgID:ComponentType:ComponentID', 'IdentityInfoValue': 'DCIM:firmware:102573', 'InstallationDate': '2018-11-22T03:58:23Z', 'InstanceID': 'DCIM:INSTALLED#0x15__PSU.Slot.1', 'IsEntity': 'true', 'Key': 'DCIM:INSTALLED#0x15__PSU.Slot.1', 'MajorVersion': '0', 'MinorVersion': '3', 'RevisionNumber': '67', 'RevisionString': None, 'Status': 'Installed', 'SubDeviceID': None, 'SubVendorID': None, 'Updateable': 'true', 'VendorID': None, 'VersionString': '00.3D.67', 'impactsTPMmeasurements': 'false'}]}) Details of the firmware. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_license.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_license.rst new file mode 100644 index 000000000..d4441a3ab --- /dev/null +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_license.rst @@ -0,0 +1,432 @@ +.. _idrac_license_module: + + +idrac_license -- Configure iDRAC licenses +========================================= + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- + +This module allows to import, export and delete licenses on iDRAC. + + + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- python \>= 3.9.6 + + + +Parameters +---------- + + license_id (optional, str, None) + Entitlement ID of the license that is to be imported, exported or deleted. + + \ :emphasis:`license\_id`\ is required when \ :emphasis:`delete`\ is \ :literal:`true`\ or \ :emphasis:`export`\ is \ :literal:`true`\ . + + + delete (optional, bool, False) + Delete the license from the iDRAC. + + When \ :emphasis:`delete`\ is \ :literal:`true`\ , then \ :emphasis:`license\_id`\ is required. + + \ :emphasis:`delete`\ is mutually exclusive with \ :emphasis:`export`\ and \ :emphasis:`import`\ . + + + export (optional, bool, False) + Export the license from the iDRAC. + + When \ :emphasis:`export`\ is \ :literal:`true`\ , \ :emphasis:`license\_id`\ and \ :emphasis:`share\_parameters`\ is required. + + \ :emphasis:`export`\ is mutually exclusive with \ :emphasis:`delete`\ and \ :emphasis:`import`\ . + + + import (optional, bool, False) + Import the license from the iDRAC. + + When \ :emphasis:`import`\ is \ :literal:`true`\ , \ :emphasis:`share\_parameters`\ is required. + + \ :emphasis:`import`\ is mutually exclusive with \ :emphasis:`delete`\ and \ :emphasis:`export`\ . + + + share_parameters (optional, dict, None) + Parameters that are required for the import and export operation of a license. + + \ :emphasis:`share\_parameters`\ is required when \ :emphasis:`export`\ or \ :emphasis:`import`\ is \ :literal:`true`\ . + + + share_type (optional, str, local) + Share type of the network share. + + \ :literal:`local`\ uses local path for \ :emphasis:`import`\ and \ :emphasis:`export`\ operation. + + \ :literal:`nfs`\ uses NFS share for \ :emphasis:`import`\ and \ :emphasis:`export`\ operation. + + \ :literal:`cifs`\ uses CIFS share for \ :emphasis:`import`\ and \ :emphasis:`export`\ operation. + + \ :literal:`http`\ uses HTTP share for \ :emphasis:`import`\ and \ :emphasis:`export`\ operation. + + \ :literal:`https`\ uses HTTPS share for \ :emphasis:`import`\ and \ :emphasis:`export`\ operation. + + + file_name (optional, str, None) + License file name for \ :emphasis:`import`\ and \ :emphasis:`export`\ operation. + + \ :emphasis:`file\_name`\ is required when \ :emphasis:`import`\ is \ :literal:`true`\ . + + For the \ :emphasis:`import`\ operation, when \ :emphasis:`share\_type`\ is \ :literal:`local`\ , the supported extensions for \ :emphasis:`file\_name`\ are '.txt' and '.xml'. For other share types, the supported extension is '.xml' + + + ip_address (optional, str, None) + IP address of the network share. + + \ :emphasis:`ip\_address`\ is required when \ :emphasis:`share\_type`\ is \ :literal:`nfs`\ , \ :literal:`cifs`\ , \ :literal:`http`\ or \ :literal:`https`\ . + + + share_name (optional, str, None) + Network share or local path of the license file. + + + workgroup (optional, str, None) + Workgroup of the network share. + + \ :emphasis:`workgroup`\ is applicable only when \ :emphasis:`share\_type`\ is \ :literal:`cifs`\ . + + + username (optional, str, None) + Username of the network share. + + \ :emphasis:`username`\ is required when \ :emphasis:`share\_type`\ is \ :literal:`cifs`\ . + + + password (optional, str, None) + Password of the network share. + + \ :emphasis:`password`\ is required when \ :emphasis:`share\_type`\ is \ :literal:`cifs`\ . + + + ignore_certificate_warning (optional, str, off) + Ignores the certificate warning while connecting to Share and is only applicable when \ :emphasis:`share\_type`\ is \ :literal:`https`\ . + + \ :literal:`off`\ ignores the certificate warning. + + \ :literal:`on`\ does not ignore the certificate warning. + + + proxy_support (optional, str, off) + Specifies if proxy is to be used or not. + + \ :literal:`off`\ does not use proxy settings. + + \ :literal:`default\_proxy`\ uses the default proxy settings. + + \ :literal:`parameters\_proxy`\ uses the specified proxy settings. \ :emphasis:`proxy\_server`\ is required when \ :emphasis:`proxy\_support`\ is \ :literal:`parameters\_proxy`\ . + + \ :emphasis:`proxy\_support`\ is only applicable when \ :emphasis:`share\_type`\ is \ :literal:`https`\ or \ :literal:`https`\ . + + + proxy_type (optional, str, http) + The proxy type of the proxy server. + + \ :literal:`http`\ to select HTTP proxy. + + \ :literal:`socks`\ to select SOCKS proxy. + + \ :emphasis:`proxy\_type`\ is only applicable when \ :emphasis:`share\_type`\ is \ :literal:`https`\ or \ :literal:`https`\ and when \ :emphasis:`proxy\_support`\ is \ :literal:`parameters\_proxy`\ . + + + proxy_server (optional, str, None) + The IP address of the proxy server. + + \ :emphasis:`proxy\_server`\ is required when \ :emphasis:`proxy\_support`\ is \ :literal:`parameters\_proxy`\ . + + \ :emphasis:`proxy\_server`\ is only applicable when \ :emphasis:`share\_type`\ is \ :literal:`https`\ or \ :literal:`https`\ and when \ :emphasis:`proxy\_support`\ is \ :literal:`parameters\_proxy`\ . + + + proxy_port (optional, int, 80) + The port of the proxy server. + + \ :emphasis:`proxy\_port`\ is only applicable when \ :emphasis:`share\_type`\ is \ :literal:`https`\ or \ :literal:`https`\ and when \ :emphasis:`proxy\_support`\ is \ :literal:`parameters\_proxy`\ . + + + proxy_username (optional, str, None) + The username of the proxy server. + + \ :emphasis:`proxy\_username`\ is only applicable when \ :emphasis:`share\_type`\ is \ :literal:`https`\ or \ :literal:`https`\ and when \ :emphasis:`proxy\_support`\ is \ :literal:`parameters\_proxy`\ . + + + proxy_password (optional, str, None) + The password of the proxy server. + + \ :emphasis:`proxy\_password`\ is only applicable when \ :emphasis:`share\_type`\ is \ :literal:`https`\ or \ :literal:`https`\ and when \ :emphasis:`proxy\_support`\ is \ :literal:`parameters\_proxy`\ . + + + + resource_id (optional, str, None) + Id of the resource. + + If the value for resource ID is not provided, the module picks the first resource ID available from the list of system resources returned by the iDRAC. + + + idrac_ip (True, str, None) + iDRAC IP Address. + + + idrac_user (True, str, None) + iDRAC username. + + + idrac_password (True, str, None) + iDRAC user password. + + + idrac_port (optional, int, 443) + iDRAC port. + + + validate_certs (optional, bool, True) + If \ :literal:`false`\ , the SSL certificates will not be validated. + + Configure \ :literal:`false`\ only on personally controlled sites where self-signed certificates are used. + + Prior to collection version \ :literal:`5.0.0`\ , the \ :emphasis:`validate\_certs`\ is \ :literal:`false`\ by default. + + + ca_path (optional, path, None) + The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. + + + timeout (optional, int, 30) + The socket level timeout in seconds. + + + + + +Notes +----- + +.. note:: + - Run this module from a system that has direct access to Dell iDRAC. + - This module supports only iDRAC9 and above. + - This module supports IPv4 and IPv6 addresses. + - This module does not support \ :literal:`check\_mode`\ . + - When \ :emphasis:`share\_type`\ is \ :literal:`local`\ for \ :emphasis:`import`\ and \ :emphasis:`export`\ operations, job\_details are not displayed. + + + + +Examples +-------- + +.. code-block:: yaml+jinja + + + --- + - name: Export a license from iDRAC to local + dellemc.openmanage.idrac_license: + idrac_ip: "192.168.0.1" + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + license_id: "LICENSE_123" + export: true + share_parameters: + share_type: "local" + share_name: "/path/to/share" + file_name: "license_file" + + - name: Export a license from iDRAC to NFS share + dellemc.openmanage.idrac_license: + idrac_ip: "192.168.0.1" + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + license_id: "LICENSE_123" + export: true + share_parameters: + share_type: "nfs" + share_name: "/path/to/share" + file_name: "license_file" + ip_address: "192.168.0.1" + + - name: Export a license from iDRAC to CIFS share + dellemc.openmanage.idrac_license: + idrac_ip: "192.168.0.1" + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + license_id: "LICENSE_123" + export: true + share_parameters: + share_type: "cifs" + share_name: "/path/to/share" + file_name: "license_file" + ip_address: "192.168.0.1" + username: "username" + password: "password" + workgroup: "workgroup" + + - name: Export a license from iDRAC to HTTP share via proxy + dellemc.openmanage.idrac_license: + idrac_ip: "192.168.0.1" + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + license_id: "LICENSE_123" + export: true + share_parameters: + share_type: "http" + share_name: "/path/to/share" + file_name: "license_file" + ip_address: "192.168.0.1" + username: "username" + password: "password" + proxy_support: "parameters_proxy" + proxy_type: socks + proxy_server: "192.168.0.2" + proxy_port: 1080 + proxy_username: "proxy_username" + proxy_password: "proxy_password" + + - name: Export a license from iDRAC to HTTPS share + dellemc.openmanage.idrac_license: + idrac_ip: "192.168.0.1" + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + license_id: "LICENSE_123" + export: true + share_parameters: + share_type: "https" + share_name: "/path/to/share" + file_name: "license_file" + ip_address: "192.168.0.1" + username: "username" + password: "password" + ignore_certificate_warning: "on" + + - name: Import a license to iDRAC from local + dellemc.openmanage.idrac_license: + idrac_ip: 198.162.0.1 + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + import: true + share_parameters: + file_name: "license_file_name.xml" + share_type: local + share_name: "/path/to/share" + + - name: Import a license to iDRAC from NFS share + dellemc.openmanage.idrac_license: + idrac_ip: 198.162.0.1 + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + import: true + share_parameters: + file_name: "license_file_name.xml" + share_type: nfs + ip_address: "192.168.0.1" + share_name: "/path/to/share" + + - name: Import a license to iDRAC from CIFS share + dellemc.openmanage.idrac_license: + idrac_ip: 198.162.0.1 + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + import: true + share_parameters: + file_name: "license_file_name.xml" + share_type: cifs + ip_address: "192.168.0.1" + share_name: "/path/to/share" + username: "username" + password: "password" + + - name: Import a license to iDRAC from HTTP share + dellemc.openmanage.idrac_license: + idrac_ip: 198.162.0.1 + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + import: true + share_parameters: + file_name: "license_file_name.xml" + share_type: http + ip_address: "192.168.0.1" + share_name: "/path/to/share" + username: "username" + password: "password" + + - name: Import a license to iDRAC from HTTPS share via proxy + dellemc.openmanage.idrac_license: + idrac_ip: 198.162.0.1 + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + import: true + share_parameters: + file_name: "license_file_name.xml" + share_type: https + ip_address: "192.168.0.1" + share_name: "/path/to/share" + username: "username" + password: "password" + proxy_support: "parameters_proxy" + proxy_server: "192.168.0.2" + proxy_port: 808 + proxy_username: "proxy_username" + proxy_password: "proxy_password" + + - name: Delete a License from iDRAC + dellemc.openmanage.idrac_license: + idrac_ip: 198.162.0.1 + idrac_user: "username" + idrac_password: "password" + ca_path: "/path/to/ca_cert.pem" + license_id: "LICENCE_123" + delete: true + + + +Return Values +------------- + +msg (always, str, Successfully exported the license.) + Status of the license operation. + + +job_details (For import and export operations, dict, {'ActualRunningStartTime': '2024-01-09T05:16:19', 'ActualRunningStopTime': '2024-01-09T05:16:19', 'CompletionTime': '2024-01-09T05:16:19', 'Description': 'Job Instance', 'EndTime': None, 'Id': 'JID_XXXXXXXXX', 'JobState': 'Completed', 'JobType': 'LicenseExport', 'Message': 'The command was successful.', 'MessageArgs': [], 'MessageId': 'LIC900', 'Name': 'Export: License', 'PercentComplete': 100, 'StartTime': '2024-01-09T05:16:19', 'TargetSettingsURI': None}) + Returns the output for status of the job. + + +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.8.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'Base.1.8.AccessDenied', 'Message': 'The authentication credentials included with this request are missing or invalid.', 'MessageArgs': [], 'RelatedProperties': [], 'Severity': 'Critical', 'Resolution': 'Attempt to ensure that the URI is correct and that the service has the appropriate credentials.'}]}}) + Details of the HTTP Error. + + + + + +Status +------ + + + + + +Authors +~~~~~~~ + +- Rajshekar P(@rajshekarp87) + diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_lifecycle_controller_job_status_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_lifecycle_controller_job_status_info.rst index 6b4cfd4ed..8cf0e133b 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_lifecycle_controller_job_status_info.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_lifecycle_controller_job_status_info.rst @@ -21,7 +21,7 @@ Requirements The below requirements are needed on the host that executes this module. - omsdk >= 1.2.488 -- python >= 3.8.6 +- python >= 3.9.6 @@ -49,11 +49,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -71,7 +71,8 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC iDRAC. + - 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 supports ``check_mode``. @@ -86,11 +87,11 @@ Examples --- - name: Show status of a Lifecycle Control job dellemc.openmanage.idrac_lifecycle_controller_job_status_info: - idrac_ip: "192.168.0.1" - idrac_user: "user_name" - idrac_password: "user_password" - ca_path: "/path/to/ca_cert.pem" - job_id: "JID_1234567890" + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + ca_path: "/path/to/ca_cert.pem" + job_id: "JID_1234567890" @@ -101,11 +102,11 @@ msg (always, str, Successfully fetched the job info.) Overall status of the job facts operation. -job_info (success, dict, AnsibleMapping([('ElapsedTimeSinceCompletion', '8742'), ('InstanceID', 'JID_844222910040'), ('JobStartTime', 'NA'), ('JobStatus', 'Completed'), ('JobUntilTime', 'NA'), ('Message', 'Job completed successfully.'), ('MessageArguments', 'NA'), ('MessageID', 'RED001'), ('Name', 'update:DCIM:INSTALLED#iDRAC.Embedded.1-1#IDRACinfo'), ('PercentComplete', '100'), ('Status', 'Success')])) +job_info (success, dict, {'ElapsedTimeSinceCompletion': '8742', 'InstanceID': 'JID_844222910040', 'JobStartTime': 'NA', 'JobStatus': 'Completed', 'JobUntilTime': 'NA', 'Message': 'Job completed successfully.', 'MessageArguments': 'NA', 'MessageID': 'RED001', 'Name': 'update:DCIM:INSTALLED#iDRAC.Embedded.1-1#IDRACinfo', 'PercentComplete': '100', 'Status': 'Success'}) Displays the status of a Lifecycle Controller job. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_lifecycle_controller_jobs.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_lifecycle_controller_jobs.rst index 79bb43b2a..385894eb6 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_lifecycle_controller_jobs.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_lifecycle_controller_jobs.rst @@ -21,7 +21,7 @@ Requirements The below requirements are needed on the host that executes this module. - omsdk >= 1.2.488 -- python >= 3.8.6 +- python >= 3.9.6 @@ -51,11 +51,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -73,7 +73,8 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC iDRAC. + - 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 does not support ``check_mode``. @@ -110,11 +111,11 @@ msg (always, str, Successfully deleted the job.) Status of the delete operation. -status (success, dict, AnsibleMapping([('Message', 'The specified job was deleted'), ('MessageID', 'SUP020'), ('ReturnValue', '0')])) +status (success, dict, {'Message': 'The specified job was deleted', 'MessageID': 'SUP020', 'ReturnValue': '0'}) Details of the delete operation. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_lifecycle_controller_logs.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_lifecycle_controller_logs.rst index f2d20a24b..1b414e76e 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_lifecycle_controller_logs.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_lifecycle_controller_logs.rst @@ -21,7 +21,7 @@ Requirements The below requirements are needed on the host that executes this module. - omsdk >= 1.2.488 -- python >= 3.8.6 +- python >= 3.9.6 @@ -63,11 +63,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -87,7 +87,8 @@ Notes .. note:: - This module requires 'Administrator' privilege for *idrac_user*. - Exporting data to a local share is supported only on iDRAC9-based PowerEdge Servers and later. - - Run this module from a system that has direct access to Dell EMC iDRAC. + - 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 does not support ``check_mode``. @@ -135,11 +136,11 @@ msg (always, str, Successfully exported the lifecycle controller logs.) Status of the export lifecycle controller logs job. -lc_logs_status (success, dict, AnsibleMapping([('ElapsedTimeSinceCompletion', '0'), ('InstanceID', 'JID_274774785395'), ('JobStartTime', 'NA'), ('JobStatus', 'Completed'), ('JobUntilTime', 'NA'), ('Message', 'LCL Export was successful'), ('MessageArguments', 'NA'), ('MessageID', 'LC022'), ('Name', 'LC Export'), ('PercentComplete', '100'), ('Status', 'Success'), ('file', '192.168.0.0:/nfsfileshare/190.168.0.1_20210728_133437_LC_Log.log'), ('retval', True)])) +lc_logs_status (success, dict, {'ElapsedTimeSinceCompletion': '0', 'InstanceID': 'JID_274774785395', 'JobStartTime': 'NA', 'JobStatus': 'Completed', 'JobUntilTime': 'NA', 'Message': 'LCL Export was successful', 'MessageArguments': 'NA', 'MessageID': 'LC022', 'Name': 'LC Export', 'PercentComplete': '100', 'Status': 'Success', 'file': '192.168.0.0:/nfsfileshare/190.168.0.1_20210728_133437_LC_Log.log', 'retval': True}) Status of the export operation along with job details and file path. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_lifecycle_controller_status_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_lifecycle_controller_status_info.rst index 9757ab8e0..07ffe9446 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_lifecycle_controller_status_info.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_lifecycle_controller_status_info.rst @@ -12,7 +12,7 @@ idrac_lifecycle_controller_status_info -- Get the status of the Lifecycle Contro Synopsis -------- -This module shows the status of the Lifecycle Controller on a Dell EMC PowerEdge server. +This module shows the status of the Lifecycle Controller on a Dell PowerEdge server. @@ -21,7 +21,7 @@ Requirements The below requirements are needed on the host that executes this module. - omsdk >= 1.2.488 -- python >= 3.8.6 +- python >= 3.9.6 @@ -45,11 +45,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -67,7 +67,8 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC iDRAC. + - 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 supports ``check_mode``. @@ -96,11 +97,11 @@ msg (always, str, Successfully fetched the lifecycle controller status.) Overall status of fetching lifecycle controller status. -lc_status_info (success, dict, AnsibleMapping([('msg', AnsibleMapping([('LCReady', True), ('LCStatus', 'Ready')]))])) - Displays the status of the Lifecycle Controller on a Dell EMC PowerEdge server. +lc_status_info (success, dict, {'msg': {'LCReady': True, 'LCStatus': 'Ready'}}) + Displays the status of the Lifecycle Controller on a Dell PowerEdge server. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_network.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_network.rst index d565eae7f..c7bb593ae 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_network.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_network.rst @@ -21,7 +21,7 @@ Requirements The below requirements are needed on the host that executes this module. - omsdk >= 1.2.488 -- python >= 3.8.6 +- python >= 3.9.6 @@ -161,11 +161,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -184,7 +184,8 @@ Notes .. note:: - This module requires 'Administrator' privilege for *idrac_user*. - - Run this module from a system that has direct access to Dell EMC iDRAC. + - 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 supports ``check_mode``. @@ -199,9 +200,9 @@ Examples --- - name: Configure iDRAC network settings dellemc.openmanage.idrac_network: - idrac_ip: "192.168.0.1" + idrac_ip: "192.168.0.1" idrac_user: "user_name" - idrac_password: "user_password" + idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" register_idrac_on_dns: Enabled dns_idrac_name: None @@ -236,11 +237,11 @@ msg (always, str, Successfully configured the idrac network settings.) Successfully configured the idrac network settings. -network_status (success, dict, AnsibleMapping([('@odata.context', '/redfish/v1/$metadata#DellJob.DellJob'), ('@odata.id', '/redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_856418531008'), ('@odata.type', '#DellJob.v1_0_2.DellJob'), ('CompletionTime', '2020-03-31T03:04:15'), ('Description', 'Job Instance'), ('EndTime', None), ('Id', 'JID_856418531008'), ('JobState', 'Completed'), ('JobType', 'ImportConfiguration'), ('Message', 'Successfully imported and applied Server Configuration Profile.'), ('MessageArgs', []), ('MessageArgs@odata.count', 0), ('MessageId', 'SYS053'), ('Name', 'Import Configuration'), ('PercentComplete', 100), ('StartTime', 'TIME_NOW'), ('Status', 'Success'), ('TargetSettingsURI', None), ('retval', True)])) +network_status (success, dict, {'@odata.context': '/redfish/v1/$metadata#DellJob.DellJob', '@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_856418531008', '@odata.type': '#DellJob.v1_0_2.DellJob', 'CompletionTime': '2020-03-31T03:04:15', 'Description': 'Job Instance', 'EndTime': None, 'Id': 'JID_856418531008', 'JobState': 'Completed', 'JobType': 'ImportConfiguration', 'Message': 'Successfully imported and applied Server Configuration Profile.', 'MessageArgs': [], 'MessageArgs@odata.count': 0, 'MessageId': 'SYS053', 'Name': 'Import Configuration', 'PercentComplete': 100, 'StartTime': 'TIME_NOW', 'Status': 'Success', 'TargetSettingsURI': None, 'retval': True}) Status of the Network settings operation job. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_network_attributes.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_network_attributes.rst new file mode 100644 index 000000000..fa0e89cae --- /dev/null +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_network_attributes.rst @@ -0,0 +1,340 @@ +.. _idrac_network_attributes_module: + + +idrac_network_attributes -- Configures the iDRAC network attributes +=================================================================== + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- + +This module allows you to configure the port and partition network attributes on the network interface cards. + + + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- python >= 3.9.6 + + + +Parameters +---------- + + network_adapter_id (True, str, None) + FQDD of the network adapter device that represents the physical network adapter capable of connecting to a computer network. + + An example of FQDD of the network adapter is 'NIC.Mezzanine.1A' + + + network_device_function_id (True, str, None) + FQDD of the network adapter device function that represents a logical interface exposed by the network adapter. + + An example of FQDD of the network adapter device function is 'NIC.Mezzanine.1A-1-1' + + + network_attributes (optional, dict, None) + Dictionary of network attributes and value. To view the list of attributes and its structure, see the below API https://*idrac_ip*/redfish/v1/Systems/System.Embedded.1/NetworkAdapters/<network_id>/NetworkDeviceFunctions/ <network_port_id>/Settings and https://<idrac_ip>/redfish/v1/Schemas/NetworkDeviceFunction.v1_8_0.json. + + *network_attributes* is mutually exclusive with *oem_network_attributes*. + + + oem_network_attributes (optional, dict, None) + The attributes must be part of the Integrated Dell Remote Access Controller Attribute Registry. To view the list of attributes in Attribute Registry for iDRAC9 and newer versions. For more information, see, https://*idrac_ip*/redfish/v1/Chassis/System.Embedded.1/NetworkAdapters/<network_id>/NetworkDeviceFunctions/ <network_port_id>/Oem/Dell/DellNetworkAttributes/<network_port_id> and https://*idrac_ip*/redfish/v1/Registries/NetworkAttributesRegistry_<network_port_id>/ NetworkAttributesRegistry_network_port_id.json. + + For iDRAC8 based servers, derive the network attribute name from Server Configuration Profile. + + *oem_network_attributes* is mutually exclusive with *network_attributes*. + + + resource_id (optional, str, None) + Id of the resource. + + If the value for resource ID is not provided, the module picks the first resource ID available from the list of system resources returned by the iDRAC. + + + clear_pending (optional, bool, False) + This parameter allows you to clear all the pending OEM network attributes changes. + + ``false`` does not perform any operation. + + ``true`` discards any pending changes to network attributes, or if a job is in scheduled state, removes the job. + + *apply_time* value will be ignored and will not have any impact for *clear_pending* operation. + + This operation is not supported for iDRAC8. + + + apply_time (True, str, None) + Apply time of the *network_attributes* and *oem_network_attributes*. + + This is applicable only to *network_attributes* and *oem_network_attributes*. + + ``Immediate`` allows the user to immediately reboot the host and apply the changes. *job_wait* is applicable. This is applicable for *oem_network_attributes* and *job_wait*. + + ``OnReset`` allows the user to apply the changes on the next reboot of the host server. + + ``AtMaintenanceWindowStart`` allows the user to apply at the start of a maintenance window as specified in *maintenance_window*. A reboot job is scheduled. + + ``InMaintenanceWindowOnReset`` allows to apply after a manual reset but within the maintenance window as specified in *maintenance_window*. + + This is not applicable for iDRAC8 and value will be ignored and will not have any impact for configuring *oem_network_attributes*. + + + maintenance_window (optional, dict, None) + This option allows you to schedule the maintenance window. + + This is required when *apply_time* is ``AtMaintenanceWindowStart`` or ``InMaintenanceWindowOnReset``. + + + start_time (True, str, None) + The start time for the maintenance window to be scheduled. + + The format is YYYY-MM-DDThh:mm:ss<offset> + + <offset> is the time offset from UTC that the current timezone set in iDRAC in the format: +05:30 for IST. + + + duration (True, int, None) + The duration in seconds for the maintenance window. + + + + job_wait (optional, bool, True) + Provides the option to wait for job completion. + + This is applicable when *apply_time* is ``Immediate`` for *oem_network_attributes*. + + + job_wait_timeout (optional, int, 1200) + The maximum wait time of *job_wait* in seconds. The job is tracked only for this duration. + + This option is applicable when *job_wait* is ``true``. + + + idrac_ip (True, str, None) + iDRAC IP Address. + + + idrac_user (True, str, None) + iDRAC username. + + + idrac_password (True, str, None) + iDRAC user password. + + + idrac_port (optional, int, 443) + iDRAC port. + + + validate_certs (optional, bool, True) + 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. + + + ca_path (optional, path, None) + The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. + + + timeout (optional, int, 30) + The socket level timeout in seconds. + + + + + +Notes +----- + +.. note:: + - Run this module from a system that has direct access to Dell iDRAC. + - This module supports both IPv4 and IPv6 address. + - This module supports ``check_mode``. + + + + +Examples +-------- + +.. code-block:: yaml+jinja + + + --- + - name: Configure OEM network attributes + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_id: "NIC.Integrated.1" + network_port_id: "NIC.Integrated.1-1-1" + apply_time: "Immediate" + oem_network_attributes: + BannerMessageTimeout: "4" + + - name: Configure OEM network attributes to apply on reset + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_id: NIC.Integrated.1 + network_port_id: "NIC.Integrated.1-1-1" + oem_network_attributes: + BannerMessageTimeout: "4" + apply_time: OnReset + + - name: Configure OEM network attributes to apply at maintainance window + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_id: NIC.Integrated.1 + network_port_id: "NIC.Integrated.1-1-1" + oem_network_attributes: + BannerMessageTimeout: "4" + apply_time: AtMaintenanceWindowStart + maintenance_window: + start_time: "2022-09-30T05:15:40-05:00" + duration: 600 + + - name: Clearing the pending attributes + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_id: NIC.Integrated.1 + network_port_id: "NIC.Integrated.1-1-1" + apply_time: "Immediate" + clear_pending: true + + - name: Clearing the OEM pending attributes and apply the OEM network attributes + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_id: NIC.Integrated.1 + network_port_id: "NIC.Integrated.1-1-1" + apply_time: "Immediate" + clear_pending: true + oem_network_attributes: + BannerMessageTimeout: "4" + + - name: Configure OEM network attributes and wait for the job + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_id: NIC.Integrated.1 + network_port_id: "NIC.Integrated.1-1-1" + apply_time: "Immediate" + oem_network_attributes: + LnkSpeed: "10MbpsHalf" + WakeOnLan: "Enabled" + VLanMode: "Enabled" + job_wait: true + job_wait_timeout: 2000 + + - name: Configure redfish network attributes to update fiber channel on reset + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_id: NIC.Integrated.1 + network_port_id: "NIC.Integrated.1-1-1" + apply_time: OnReset + network_attributes: + Ethernet: + VLAN: + VLANEnable: true + + - name: Configure redfish network attributes to apply on reset + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_id: NIC.Integrated.1 + network_port_id: "NIC.Integrated.1-1-1" + network_attributes: + Ethernet: + VLAN: + VLANEnable: true + apply_time: OnReset + + - name: Configure redfish network attributes of iscsi to apply at maintainance window start + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_id: NIC.Integrated.1 + network_port_id: "NIC.Integrated.1-1-1" + network_attributes: + iSCSIBoot: + InitiatorIPAddress: 1.0.0.1 + apply_time: AtMaintenanceWindowStart + maintenance_window: + start_time: "2022-09-30T05:15:40-05:00" + duration: 600 + + - name: Configure redfish network attributes to apply at maintainance window on reset + dellemc.openmanage.idrac_network_attributes: + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" + network_id: NIC.Integrated.1 + network_port_id: "NIC.Integrated.1-1-1" + network_attributes: + Ethernet: + VLAN: + VLANEnable: false + VLANId: 1 + apply_time: AtMaintenanceWindowStart + maintenance_window: + start_time: "2022-09-30T05:15:40-05:00" + duration: 600 + + + +Return Values +------------- + +msg (when network attributes is applied, str, Successfully updated the network attributes.) + Status of the attribute update operation. + + +invalid_attributes (On invalid attributes or values, dict, {'IscsiInitiatorIpAddr': 'Attribute is not valid.', 'IscsiInitiatorSubnet': 'Attribute is not valid.'}) + Dictionary of invalid attributes provided that cannot be applied. + + +job_status (always, dict, {'ActualRunningStartTime': None, 'ActualRunningStopTime': None, 'CompletionTime': None, 'Description': 'Job Instance', 'EndTime': 'TIME_NA', 'Id': 'JID_XXXXXXXXX', 'JobState': 'Scheduled', 'JobType': 'NICConfiguration', 'Message': 'Task successfully scheduled.', 'MessageArgs': [], 'MessageId': 'JCP001', 'Name': 'Configure: NIC.Integrated.1-1-1', 'PercentComplete': 0, 'StartTime': '2023-08-07T06:21:24', 'TargetSettingsURI': None}) + Returns the output for status of the job. + + +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) + Details of the HTTP Error. + + + + + +Status +------ + + + + + +Authors +~~~~~~~ + +- Abhishek Sinha(@ABHISHEK-SINHA10) + diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_os_deployment.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_os_deployment.rst index b3a18dce8..c5b526a87 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_os_deployment.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_os_deployment.rst @@ -21,7 +21,7 @@ Requirements The below requirements are needed on the host that executes this module. - omsdk >= 1.2.488 -- python >= 3.8.6 +- python >= 3.9.6 @@ -65,11 +65,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -87,7 +87,8 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC iDRAC. + - 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 does not support ``check_mode``. @@ -107,7 +108,7 @@ Examples idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" share_name: "192.168.0.0:/nfsfileshare" - iso_image: "unattended_os_image.iso" + iso_image: "unattended_os_image.iso" expose_duration: 180 @@ -119,7 +120,7 @@ msg (on error, str, Failed to boot to network iso) Over all device information status. -boot_status (always, dict, AnsibleMapping([('DeleteOnCompletion', 'false'), ('InstanceID', 'DCIM_OSDConcreteJob:1'), ('JobName', 'BootToNetworkISO'), ('JobStatus', 'Success'), ('Message', 'The command was successful.'), ('MessageID', 'OSD1'), ('Name', 'BootToNetworkISO'), ('Status', 'Success'), ('file', '192.168.0.0:/nfsfileshare/unattended_os_image.iso'), ('retval', True)])) +boot_status (always, dict, {'DeleteOnCompletion': 'false', 'InstanceID': 'DCIM_OSDConcreteJob:1', 'JobName': 'BootToNetworkISO', 'JobStatus': 'Success', 'Message': 'The command was successful.', 'MessageID': 'OSD1', 'Name': 'BootToNetworkISO', 'Status': 'Success', 'file': '192.168.0.0:/nfsfileshare/unattended_os_image.iso', 'retval': True}) Details of the boot to network ISO image operation. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_redfish_storage_controller.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_redfish_storage_controller.rst index 64f8f4ea7..c3592acc6 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_redfish_storage_controller.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_redfish_storage_controller.rst @@ -20,14 +20,14 @@ Requirements ------------ The below requirements are needed on the host that executes this module. -- python >= 3.8.6 +- python >= 3.9.6 Parameters ---------- - command (optional, str, AssignSpare) + command (optional, str, None) These actions may require a system reset, depending on the capabilities of the controller. ``ResetConfig`` - Deletes all the virtual disks and unassigns all hot spares on physical disks. *controller_id* is required for this operation. @@ -58,6 +58,8 @@ Parameters ``LockVirtualDisk`` - To encrypt the virtual disk. *volume_id* is required for this operation. + ``OnlineCapacityExpansion`` - To expand the size of virtual disk. *volume_id*, and *target* or *size* is required for this operation. + target (optional, list, None) Fully Qualified Device Descriptor (FQDD) of the target physical drive. @@ -66,6 +68,8 @@ Parameters If *volume_id* is not specified or empty, this physical drive will be assigned as a global hot spare when *command* is ``AssignSpare``. + When *command* is ``OnlineCapacityExpansion``, then *target* is mutually exclusive with *size*. + Notes: Global or Dedicated hot spare can be assigned only once for a physical disk, Re-assign cannot be done when *command* is ``AssignSpare``. @@ -84,6 +88,8 @@ Parameters This option is mandatory when *command* is ``ResetConfig``, ``SetControllerKey``, ``RemoveControllerKey``, ``ReKey``, or ``EnableControllerEncryption``. + This option is mandatory for *attributes*. + key (optional, str, None) A new security key passphrase that the encryption-capable controller uses to create the encryption key. The controller uses the encryption key to lock or unlock access to the Self-Encrypting Drive (SED). Only one encryption key can be created for each controller. @@ -119,14 +125,73 @@ Parameters ``LKM`` to choose mode as local key mode. + size (optional, int, None) + Capacity of the virtual disk to be expanded in MB. + + Check mode and Idempotency is not supported for *size*. + + Minimum Online Capacity Expansion size must be greater than 100 MB of the current size. + + When *command* is ``OnlineCapacityExpansion``, then *size* is mutually exclusive with *target*. + + + attributes (optional, dict, None) + Dictionary of controller attributes and value pair. + + This feature is only supported for iDRAC9 with firmware version 6.00.00.00 and above + + *controller_id* is required for this operation. + + *apply_time* and *maintenance_window* is applicable for *attributes*. + + *attributes* is mutually exclusive with *command*. + + Use https://*idrac_ip*/redfish/v1/Schemas/DellOemStorageController.json to view the attributes. + + + apply_time (optional, str, Immediate) + Apply time of the *attributes*. + + This is applicable only to *attributes*. + + ``Immediate`` Allows the user to immediately reboot the host and apply the changes. *job_wait* is applicable. + + ``OnReset`` Allows the user to apply the changes on the next reboot of the host server. + + ``AtMaintenanceWindowStart`` Allows the user to apply at the start of a maintenance window as specified in *maintenance_window*. + + ``InMaintenanceWindowOnReset`` Allows to apply after a manual reset but within the maintenance window as specified in *maintenance_window*. + + + maintenance_window (optional, dict, None) + Option to schedule the maintenance window. + + This is required when *apply_time* is ``AtMaintenanceWindowStart`` or ``InMaintenanceWindowOnReset``. + + + start_time (True, str, None) + The start time for the maintenance window to be scheduled. + + The format is YYYY-MM-DDThh:mm:ss<offset> + + <offset> is the time offset from UTC that the current timezone set in iDRAC in the format: +05:30 for IST. + + + duration (optional, int, 900) + The duration in seconds for the maintenance window. + + + job_wait (optional, bool, False) Provides the option if the module has to wait for the job to be completed. + This is applicable for *attributes* when *apply_time* is ``Immediate``. + job_wait_timeout (optional, int, 120) The maximum wait time of job completion in seconds before the job tracking is stopped. - This option is applicable when *job_wait* is ``True``. + This option is applicable when *job_wait* is ``true``. baseuri (True, str, None) @@ -142,11 +207,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -165,7 +230,8 @@ Notes .. note:: - Run this module from a system that has direct access to Dell iDRAC. - - This module always reports as changes found when ``ReKey``, ``BlinkTarget``, and ``UnBlinkTarget``. + - This module is supported on iDRAC9. + - This module always reports as changes found when *command* is ``ReKey``, ``BlinkTarget``, and ``UnBlinkTarget``. - This module supports ``check_mode``. @@ -385,6 +451,60 @@ Examples tags: - lock + - name: Online Capacity Expansion of a volume using target + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "OnlineCapacityExpansion" + volume_id: "Disk.Virtual.0:RAID.Integrated.1-1" + target: + - "Disk.Bay.2:Enclosure.Internal.0-0:RAID.Integrated.1-1" + tags: + - oce_target + + - name: Online Capacity Expansion of a volume using size + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "{{ baseuri }}" + username: "{{ username }}" + password: "{{ password }}" + ca_path: "/path/to/ca_cert.pem" + command: "OnlineCapacityExpansion" + volume_id: "Disk.Virtual.0:RAID.Integrated.1-1" + size: 362785 + tags: + - oce_size + + - name: Set controller attributes. + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "192.168.0.1:443" + username: "user_name" + password: "user_password" + ca_path: "/path/to/ca_cert.pem" + controller_id: "RAID.Slot.1-1" + attributes: + ControllerMode: "HBA" + apply_time: "OnReset" + tags: + - controller-attribute + + - name: Configure controller attributes at Maintenance window + dellemc.openmanage.idrac_redfish_storage_controller: + baseuri: "192.168.0.1:443" + username: "user_name" + password: "user_password" + ca_path: "/path/to/ca_cert.pem" + controller_id: "RAID.Slot.1-1" + attributes: + CheckConsistencyMode: Normal + CopybackMode: "Off" + LoadBalanceMode: Disabled + apply_time: AtMaintenanceWindowStart + maintenance_window: + start_time: "2022-09-30T05:15:40-05:00" + duration: 1200 + Return Values @@ -394,15 +514,15 @@ msg (always, str, Successfully submitted the job that performs the AssignSpare o Overall status of the storage controller configuration operation. -task (success, dict, AnsibleMapping([('id', 'JID_XXXXXXXXXXXXX'), ('uri', '/redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_XXXXXXXXXXXXX')])) +task (success, dict, {'id': 'JID_XXXXXXXXXXXXX', 'uri': '/redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_XXXXXXXXXXXXX'}) ID and URI resource of the job created. -status (always, dict, AnsibleMapping([('ActualRunningStartTime', '2022-02-09T04:42:41'), ('ActualRunningStopTime', '2022-02-09T04:44:00'), ('CompletionTime', '2022-02-09T04:44:00'), ('Description', 'Job Instance'), ('EndTime', 'TIME_NA'), ('Id', 'JID_444033604418'), ('JobState', 'Completed'), ('JobType', 'RealTimeNoRebootConfiguration'), ('Message', 'Job completed successfully.'), ('MessageArgs', []), ('MessageId', 'PR19'), ('Name', 'Configure: RAID.Integrated.1-1'), ('PercentComplete', 100), ('StartTime', '2022-02-09T04:42:40'), ('TargetSettingsURI', None)])) +status (always, dict, {'ActualRunningStartTime': '2022-02-09T04:42:41', 'ActualRunningStopTime': '2022-02-09T04:44:00', 'CompletionTime': '2022-02-09T04:44:00', 'Description': 'Job Instance', 'EndTime': 'TIME_NA', 'Id': 'JID_444033604418', 'JobState': 'Completed', 'JobType': 'RealTimeNoRebootConfiguration', 'Message': 'Job completed successfully.', 'MessageArgs': [], 'MessageId': 'PR19', 'Name': 'Configure: RAID.Integrated.1-1', 'PercentComplete': 100, 'StartTime': '2022-02-09T04:42:40', 'TargetSettingsURI': None}) status of the submitted job. -error_info (on http error, dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Unable to run the method because the requested HTTP method is not allowed.'), ('MessageArgs', []), ('MessageArgs@odata.count', 0), ('MessageId', 'iDRAC.1.6.SYS402'), ('RelatedProperties', []), ('RelatedProperties@odata.count', 0), ('Resolution', 'Enter a valid HTTP method and retry the operation. For information about valid methods, see the Redfish Users Guide available on the support site.'), ('Severity', 'Informational')])]), ('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information')]))])) +error_info (on http error, dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to run the method because the requested HTTP method is not allowed.', 'MessageArgs': [], 'MessageArgs@odata.count': 0, 'MessageId': 'iDRAC.1.6.SYS402', 'RelatedProperties': [], 'RelatedProperties@odata.count': 0, 'Resolution': 'Enter a valid HTTP method and retry the operation. For information about valid methods, see the Redfish Users Guide available on the support site.', 'Severity': 'Informational'}], 'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information'}}) Details of a http error. @@ -422,4 +542,5 @@ Authors - Jagadeesh N V (@jagadeeshnv) - Felix Stephen (@felixs88) - Husniya Hameed (@husniya_hameed) +- Abhishek Sinha (@Abhishek-Dell) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_reset.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_reset.rst index 867287018..e0efdc9f9 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_reset.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_reset.rst @@ -23,7 +23,7 @@ Requirements The below requirements are needed on the host that executes this module. - omsdk >= 1.2.488 -- python >= 3.8.6 +- python >= 3.9.6 @@ -47,11 +47,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -69,7 +69,8 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC iDRAC. + - 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 supports ``check_mode``. @@ -99,11 +100,11 @@ msg (always, str, Successfully performed iDRAC reset.) Status of the iDRAC reset operation. -reset_status (always, dict, AnsibleMapping([('idracreset', AnsibleMapping([('Data', AnsibleMapping([('StatusCode', 204)])), ('Message', 'none'), ('Status', 'Success'), ('StatusCode', 204), ('retval', True)]))])) +reset_status (always, dict, {'idracreset': {'Data': {'StatusCode': 204}, 'Message': 'none', 'Status': 'Success', 'StatusCode': 204, 'retval': True}}) Details of iDRAC reset operation. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_server_config_profile.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_server_config_profile.rst index f013c2297..4de82dd84 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_server_config_profile.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_server_config_profile.rst @@ -12,7 +12,7 @@ idrac_server_config_profile -- Export or Import iDRAC Server Configuration Profi Synopsis -------- -Export the Server Configuration Profile (SCP) from the iDRAC or import from a network share (CIFS, NFS, HTTP, HTTPS) or a local file. +Export the Server Configuration Profile (SCP) from the iDRAC or import from a network share (CIFS, NFS, HTTP, HTTPS) or a local path. @@ -20,7 +20,7 @@ Requirements ------------ The below requirements are needed on the host that executes this module. -- python >= 3.8.6 +- python >= 3.9.14 @@ -39,11 +39,13 @@ Parameters Whether to wait for job completion or not. - share_name (True, str, None) + share_name (optional, str, None) Network share or local path. CIFS, NFS, HTTP, and HTTPS network share types are supported. + *share_name* is mutually exclusive with *import_buffer*. + share_user (optional, str, None) Network share user in the format 'user@domain' or 'domain\\user' if user is part of a domain else 'user'. This option is mandatory for CIFS Network Share. @@ -63,16 +65,34 @@ Parameters *export_format* is used if the valid extension file is not provided for ``import``. - scp_components (optional, str, ALL) - If ``ALL``, this module exports or imports all components configurations from SCP file. + scp_components (optional, list, ALL) + If ``ALL``, this option exports or imports all components configurations from the SCP file. + + If ``IDRAC``, this option exports or imports iDRAC configuration from the SCP file. + + If ``BIOS``, this option exports or imports BIOS configuration from the SCP file. + + If ``NIC``, this option exports or imports NIC configuration from the SCP file. + + If ``RAID``, this option exports or imports RAID configuration from the SCP file. + + If ``FC``, this option exports or imports FiberChannel configurations from the SCP file. + + If ``InfiniBand``, this option exports or imports InfiniBand configuration from the SCP file. + + If ``SupportAssist``, this option exports or imports SupportAssist configuration from the SCP file. + + If ``EventFilters``, this option exports or imports EventFilters configuration from the SCP file. + + If ``System``, this option exports or imports System configuration from the SCP file. - If ``IDRAC``, this module exports or imports iDRAC configuration from SCP file. + If ``LifecycleController``, this option exports or imports SupportAssist configuration from the SCP file. - If ``BIOS``, this module exports or imports BIOS configuration from SCP file. + If ``AHCI``, this option exports or imports EventFilters configuration from the SCP file. - If ``NIC``, this module exports or imports NIC configuration from SCP file. + If ``PCIeSSD``, this option exports or imports PCIeSSD configuration from the SCP file. - If ``RAID``, this module exports or imports RAID configuration from SCP file. + When *command* is ``export`` or ``import`` *target* with multiple components is supported only on iDRAC9 with firmware 6.10.00.00 and above. shutdown_type (optional, str, Graceful) @@ -98,7 +118,83 @@ Parameters export_use (optional, str, Default) - Specify the type of server configuration profile (SCP) to be exported. This option is applicable for ``export`` command. + Specify the type of Server Configuration Profile (SCP) to be exported. + + This option is applicable when *command* is ``export``. + + ``Default`` Creates a non-destructive snapshot of the configuration. + + ``Replace`` Replaces a server with another or restores the servers settings to a known baseline. + + ``Clone`` Clones settings from one server to another server with the identical hardware setup. All settings except I/O identity are updated (e.g. will reset RAID). The settings in this export will be destructive when uploaded to another system. + + + ignore_certificate_warning (optional, str, ignore) + If ``ignore``, it ignores the certificate warnings. + + If ``showerror``, it shows the certificate warnings. + + *ignore_certificate_warning* is considered only when *share_name* is of type HTTPS and is supported only on iDRAC9. + + + include_in_export (optional, str, default) + This option is applicable when *command* is ``export``. + + If ``default``, it exports the default Server Configuration Profile. + + If ``readonly``, it exports the SCP with readonly attributes. + + If ``passwordhashvalues``, it exports the SCP with password hash values. + + If ``customtelemetry``, exports the SCP with custom telemetry attributes supported only in the iDRAC9. + + + import_buffer (optional, str, None) + Used to import the buffer input of xml or json into the iDRAC. + + This option is applicable when *command* is ``import`` and ``preview``. + + *import_buffer* is mutually exclusive with *share_name*. + + + proxy_support (optional, bool, False) + Proxy to be enabled or disabled. + + *proxy_support* is considered only when *share_name* is of type HTTP or HTTPS and is supported only on iDRAC9. + + + proxy_type (optional, str, http) + ``http`` to select HTTP type proxy. + + ``socks4`` to select SOCKS4 type proxy. + + *proxy_type* is considered only when *share_name* is of type HTTP or HTTPS and is supported only on iDRAC9. + + + proxy_server (optional, str, None) + *proxy_server* is required when *share_name* is of type HTTPS or HTTP and *proxy_support* is ``true``. + + *proxy_server* is considered only when *share_name* is of type HTTP or HTTPS and is supported only on iDRAC9. + + + proxy_port (optional, str, 80) + Proxy port to authenticate. + + *proxy_port* is required when *share_name* is of type HTTPS or HTTP and *proxy_support* is ``true``. + + *proxy_port* is considered only when *share_name* is of type HTTP or HTTPS and is supported only on iDRAC9. + + + proxy_username (optional, str, None) + Proxy username to authenticate. + + *proxy_username* is considered only when *share_name* is of type HTTP or HTTPS and is supported only on iDRAC9. + + + proxy_password (optional, str, None) + Proxy password to authenticate. + + *proxy_password* is considered only when *share_name* is of type HTTP or HTTPS and is supported only on iDRAC9. idrac_ip (True, str, None) @@ -118,11 +214,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -141,9 +237,11 @@ Notes .. note:: - This module requires 'Administrator' privilege for *idrac_user*. - - Run this module from a system that has direct access to Dell EMC iDRAC. + - Run this module from a system that has direct access to Dell iDRAC. - This module supports ``check_mode``. - - To import Server Configuration Profile (SCP) on the iDRAC7 and iDRAC8-based servers, the servers must have iDRAC Enterprise license or later. + - To import Server Configuration Profile (SCP) on the iDRAC8-based servers, the servers must have iDRAC Enterprise license or later. + - For ``import`` operation, ``check_mode`` is supported only when *target* is ``ALL``. + - This module supports IPv4 and IPv6 addresses. @@ -162,11 +260,12 @@ Examples idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" share_name: "/scp_folder" - scp_components: IDRAC + scp_components: + - IDRAC scp_file: example_file export_format: JSON export_use: Clone - job_wait: True + job_wait: true - name: Import SCP with IDRAC components in JSON format from a local path dellemc.openmanage.idrac_server_config_profile: @@ -176,11 +275,12 @@ Examples ca_path: "/path/to/ca_cert.pem" share_name: "/scp_folder" command: import - scp_components: "IDRAC" + scp_components: + - IDRAC scp_file: example_file.json shutdown_type: Graceful end_host_power_state: "On" - job_wait: False + job_wait: false - name: Export SCP with BIOS components in XML format to a NFS share path with auto-generated file name dellemc.openmanage.idrac_server_config_profile: @@ -189,10 +289,11 @@ Examples idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" share_name: "192.168.0.2:/share" - scp_components: "BIOS" + scp_components: + - BIOS export_format: XML export_use: Default - job_wait: True + job_wait: true - name: Import SCP with BIOS components in XML format from a NFS share path dellemc.openmanage.idrac_server_config_profile: @@ -202,11 +303,12 @@ Examples ca_path: "/path/to/ca_cert.pem" share_name: "192.168.0.2:/share" command: import - scp_components: "BIOS" + scp_components: + - BIOS scp_file: 192.168.0.1_20210618_162856.xml shutdown_type: NoReboot end_host_power_state: "Off" - job_wait: False + job_wait: false - name: Export SCP with RAID components in XML format to a CIFS share path with share user domain name dellemc.openmanage.idrac_server_config_profile: @@ -217,12 +319,12 @@ Examples share_name: "\\\\192.168.0.2\\share" share_user: share_username@domain share_password: share_password - share_mnt: /mnt/cifs scp_file: example_file.xml - scp_components: "RAID" + scp_components: + - RAID export_format: XML export_use: Default - job_wait: True + job_wait: true - name: Import SCP with RAID components in XML format from a CIFS share path dellemc.openmanage.idrac_server_config_profile: @@ -233,13 +335,13 @@ Examples share_name: "\\\\192.168.0.2\\share" share_user: share_username share_password: share_password - share_mnt: /mnt/cifs command: import - scp_components: "RAID" + scp_components: + - RAID scp_file: example_file.xml shutdown_type: Forced end_host_power_state: "On" - job_wait: True + job_wait: true - name: Export SCP with ALL components in JSON format to a HTTP share path dellemc.openmanage.idrac_server_config_profile: @@ -251,9 +353,10 @@ Examples share_user: share_username share_password: share_password scp_file: example_file.json - scp_components: ALL + scp_components: + - ALL export_format: JSON - job_wait: False + job_wait: false - name: Import SCP with ALL components in JSON format from a HTTP share path dellemc.openmanage.idrac_server_config_profile: @@ -268,7 +371,7 @@ Examples scp_file: example_file.json shutdown_type: Graceful end_host_power_state: "On" - job_wait: True + job_wait: true - name: Export SCP with ALL components in XML format to a HTTPS share path without SCP file name dellemc.openmanage.idrac_server_config_profile: @@ -279,10 +382,11 @@ Examples share_name: "https://192.168.0.4/share" share_user: share_username share_password: share_password - scp_components: ALL + scp_components: + - ALL export_format: XML export_use: Replace - job_wait: True + job_wait: true - name: Import SCP with ALL components in XML format from a HTTPS share path dellemc.openmanage.idrac_server_config_profile: @@ -297,9 +401,9 @@ Examples scp_file: 192.168.0.1_20160618_164647.xml shutdown_type: Graceful end_host_power_state: "On" - job_wait: False + job_wait: false - - name: Preview SCP with ALL components in XML format from a CIFS share path + - name: Preview SCP with IDRAC components in XML format from a CIFS share path dellemc.openmanage.idrac_server_config_profile: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" @@ -309,11 +413,12 @@ Examples share_user: share_username share_password: share_password command: preview - scp_components: "ALL" + scp_components: + - ALL scp_file: example_file.xml - job_wait: True + job_wait: true - - name: Preview SCP with ALL components in JSON format from a NFS share path + - name: Preview SCP with IDRAC components in JSON format from a NFS share path dellemc.openmanage.idrac_server_config_profile: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" @@ -321,11 +426,12 @@ Examples ca_path: "/path/to/ca_cert.pem" share_name: "192.168.0.2:/share" command: preview - scp_components: "IDRAC" + scp_components: + - IDRAC scp_file: example_file.xml - job_wait: True + job_wait: true - - name: Preview SCP with ALL components in XML format from a HTTP share path + - name: Preview SCP with IDRAC components in XML format from a HTTP share path dellemc.openmanage.idrac_server_config_profile: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" @@ -335,11 +441,12 @@ Examples share_user: share_username share_password: share_password command: preview - scp_components: "ALL" + scp_components: + - ALL scp_file: example_file.xml - job_wait: True + job_wait: true - - name: Preview SCP with ALL components in XML format from a local path + - name: Preview SCP with IDRAC components in XML format from a local path dellemc.openmanage.idrac_server_config_profile: idrac_ip: "{{ idrac_ip }}" idrac_user: "{{ idrac_user }}" @@ -347,9 +454,72 @@ Examples ca_path: "/path/to/ca_cert.pem" share_name: "/scp_folder" command: preview - scp_components: "IDRAC" + scp_components: + - IDRAC scp_file: example_file.json - job_wait: False + job_wait: false + + - name: Import SCP with IDRAC components in XML format from the XML content. + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + command: import + scp_components: + - IDRAC + job_wait: true + import_buffer: "<SystemConfiguration><Component FQDD='iDRAC.Embedded.1'><Attribute Name='IPMILan.1#Enable'> + Disabled</Attribute></Component></SystemConfiguration>" + + - name: Export SCP with ALL components in XML format using HTTP proxy. + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + scp_components: + - ALL + share_name: "http://192.168.0.1/http-share" + proxy_support: true + proxy_server: 192.168.0.5 + proxy_port: 8080 + proxy_username: proxy_username + proxy_password: proxy_password + proxy_type: http + include_in_export: passwordhashvalues + job_wait: true + + - name: Import SCP with IDRAC and BIOS components in XML format using SOCKS4 proxy + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + command: import + scp_components: + - IDRAC + - BIOS + share_name: "https://192.168.0.1/http-share" + proxy_support: true + proxy_server: 192.168.0.6 + proxy_port: 8080 + proxy_type: socks4 + scp_file: filename.xml + job_wait: true + + - name: Import SCP with IDRAC components in JSON format from the JSON content. + dellemc.openmanage.idrac_server_config_profile: + idrac_ip: "{{ idrac_ip }}" + idrac_user: "{{ idrac_user }}" + idrac_password: "{{ idrac_password }}" + ca_path: "/path/to/ca_cert.pem" + command: import + scp_components: + - IDRAC + job_wait: true + import_buffer: "{\"SystemConfiguration\": {\"Components\": [{\"FQDD\": \"iDRAC.Embedded.1\",\"Attributes\": + [{\"Name\": \"SNMP.1#AgentCommunity\",\"Value\": \"public1\"}]}]}}" @@ -360,11 +530,11 @@ msg (always, str, Successfully imported the Server Configuration Profile) Status of the import or export SCP job. -scp_status (success, dict, AnsibleMapping([('Id', 'JID_XXXXXXXXX'), ('JobState', 'Completed'), ('JobType', 'ImportConfiguration'), ('Message', 'Successfully imported and applied Server Configuration Profile.'), ('MessageArgs', []), ('MessageId', 'XXX123'), ('Name', 'Import Configuration'), ('PercentComplete', 100), ('StartTime', 'TIME_NOW'), ('Status', 'Success'), ('TargetSettingsURI', None), ('retval', True)])) +scp_status (success, dict, {'Id': 'JID_XXXXXXXXX', 'JobState': 'Completed', 'JobType': 'ImportConfiguration', 'Message': 'Successfully imported and applied Server Configuration Profile.', 'MessageArgs': [], 'MessageId': 'XXX123', 'Name': 'Import Configuration', 'PercentComplete': 100, 'StartTime': 'TIME_NOW', 'Status': 'Success', 'TargetSettingsURI': None, 'retval': True}) SCP operation job and progress details from the iDRAC. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. @@ -383,4 +553,6 @@ Authors - Jagadeesh N V(@jagadeeshnv) - Felix Stephen (@felixs88) +- Jennifer John (@Jennifer-John) +- Shivam Sharma (@ShivamSh3) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_syslog.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_syslog.rst index 31d69bd37..24a3ac09e 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_syslog.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_syslog.rst @@ -21,7 +21,7 @@ Requirements The below requirements are needed on the host that executes this module. - omsdk >= 1.2.488 -- python >= 3.8.6 +- python >= 3.9.6 @@ -49,11 +49,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -88,7 +88,8 @@ Notes .. note:: - This module requires 'Administrator' privilege for *idrac_user*. - - Run this module from a system that has direct access to Dell EMC iDRAC. + - 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 supports ``check_mode``. @@ -103,27 +104,27 @@ Examples --- - name: Enable iDRAC syslog dellemc.openmanage.idrac_syslog: - idrac_ip: "192.168.0.1" - idrac_user: "user_name" - idrac_password: "user_password" + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" - share_name: "192.168.0.2:/share" - share_password: "share_user_pwd" - share_user: "share_user_name" - share_mnt: "/mnt/share" - syslog: "Enabled" + share_name: "192.168.0.2:/share" + share_password: "share_user_pwd" + share_user: "share_user_name" + share_mnt: "/mnt/share" + syslog: "Enabled" - name: Disable iDRAC syslog dellemc.openmanage.idrac_syslog: - idrac_ip: "192.168.0.1" - idrac_user: "user_name" - idrac_password: "user_password" + idrac_ip: "192.168.0.1" + idrac_user: "user_name" + idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" - share_name: "192.168.0.2:/share" - share_password: "share_user_pwd" - share_user: "share_user_name" - share_mnt: "/mnt/share" - syslog: "Disabled" + share_name: "192.168.0.2:/share" + share_password: "share_user_pwd" + share_user: "share_user_name" + share_mnt: "/mnt/share" + syslog: "Disabled" @@ -134,11 +135,11 @@ msg (always, str, Successfully fetch the syslogs.) Overall status of the syslog export operation. -syslog_status (success, dict, AnsibleMapping([('@odata.context', '/redfish/v1/$metadata#DellJob.DellJob'), ('@odata.id', '/redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_852940632485'), ('@odata.type', '#DellJob.v1_0_2.DellJob'), ('CompletionTime', '2020-03-27T02:27:45'), ('Description', 'Job Instance'), ('EndTime', None), ('Id', 'JID_852940632485'), ('JobState', 'Completed'), ('JobType', 'ImportConfiguration'), ('Message', 'Successfully imported and applied Server Configuration Profile.'), ('MessageArgs', []), ('MessageArgs@odata.count', 0), ('MessageId', 'SYS053'), ('Name', 'Import Configuration'), ('PercentComplete', 100), ('StartTime', 'TIME_NOW'), ('Status', 'Success'), ('TargetSettingsURI', None), ('retval', True)])) +syslog_status (success, dict, {'@odata.context': '/redfish/v1/$metadata#DellJob.DellJob', '@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_852940632485', '@odata.type': '#DellJob.v1_0_2.DellJob', 'CompletionTime': '2020-03-27T02:27:45', 'Description': 'Job Instance', 'EndTime': None, 'Id': 'JID_852940632485', 'JobState': 'Completed', 'JobType': 'ImportConfiguration', 'Message': 'Successfully imported and applied Server Configuration Profile.', 'MessageArgs': [], 'MessageArgs@odata.count': 0, 'MessageId': 'SYS053', 'Name': 'Import Configuration', 'PercentComplete': 100, 'StartTime': 'TIME_NOW', 'Status': 'Success', 'TargetSettingsURI': None, 'retval': True}) Job details of the syslog operation. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_system_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_system_info.rst index 9d0bade41..4c2d4fa8e 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_system_info.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_system_info.rst @@ -21,7 +21,7 @@ Requirements The below requirements are needed on the host that executes this module. - omsdk >= 1.2.488 -- python >= 3.8.6 +- python >= 3.9.6 @@ -45,11 +45,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -67,7 +67,8 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC iDRAC. + - 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 supports ``check_mode``. @@ -96,11 +97,11 @@ msg (always, str, Successfully fetched the system inventory details.) Overall system inventory information status. -system_info (success, dict, AnsibleMapping([('BIOS', [AnsibleMapping([('BIOSReleaseDate', '11/26/2019'), ('FQDD', 'BIOS.Setup.1-1'), ('InstanceID', 'DCIM:INSTALLED#741__BIOS.Setup.1-1'), ('Key', 'DCIM:INSTALLED#741__BIOS.Setup.1-1'), ('SMBIOSPresent', 'True'), ('VersionString', '2.4.8')])])])) +system_info (success, dict, {'BIOS': [{'BIOSReleaseDate': '11/26/2019', 'FQDD': 'BIOS.Setup.1-1', 'InstanceID': 'DCIM:INSTALLED#741__BIOS.Setup.1-1', 'Key': 'DCIM:INSTALLED#741__BIOS.Setup.1-1', 'SMBIOSPresent': 'True', 'VersionString': '2.4.8'}]}) Details of the PowerEdge Server System Inventory. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_timezone_ntp.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_timezone_ntp.rst index d05e94fe5..10d7447f4 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_timezone_ntp.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_timezone_ntp.rst @@ -21,7 +21,7 @@ Requirements The below requirements are needed on the host that executes this module. - omsdk >= 1.2.488 -- python >= 3.8.6 +- python >= 3.9.6 @@ -89,11 +89,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -112,7 +112,8 @@ Notes .. note:: - This module requires 'Administrator' privilege for *idrac_user*. - - Run this module from a system that has direct access to Dell EMC iDRAC. + - 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 supports ``check_mode``. @@ -127,9 +128,9 @@ Examples --- - name: Configure time zone and NTP on iDRAC dellemc.openmanage.idrac_timezone_ntp: - idrac_ip: "190.168.0.1" + idrac_ip: "190.168.0.1" idrac_user: "user_name" - idrac_password: "user_password" + idrac_password: "user_password" ca_path: "/path/to/ca_cert.pem" setup_idrac_timezone: "UTC" enable_ntp: Enabled @@ -146,11 +147,11 @@ msg (always, str, Successfully configured the iDRAC time settings.) Overall status of the timezone and ntp configuration. -timezone_ntp_status (success, dict, AnsibleMapping([('@odata.context', '/redfish/v1/$metadata#DellJob.DellJob'), ('@odata.id', '/redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_861801613971'), ('@odata.type', '#DellJob.v1_0_0.DellJob'), ('CompletionTime', '2020-04-06T19:06:01'), ('Description', 'Job Instance'), ('EndTime', None), ('Id', 'JID_861801613971'), ('JobState', 'Completed'), ('JobType', 'ImportConfiguration'), ('Message', 'Successfully imported and applied Server Configuration Profile.'), ('MessageArgs', []), ('MessageId', 'SYS053'), ('Name', 'Import Configuration'), ('PercentComplete', 100), ('StartTime', 'TIME_NOW'), ('Status', 'Success'), ('TargetSettingsURI', None), ('retval', True)])) +timezone_ntp_status (success, dict, {'@odata.context': '/redfish/v1/$metadata#DellJob.DellJob', '@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_861801613971', '@odata.type': '#DellJob.v1_0_0.DellJob', 'CompletionTime': '2020-04-06T19:06:01', 'Description': 'Job Instance', 'EndTime': None, 'Id': 'JID_861801613971', 'JobState': 'Completed', 'JobType': 'ImportConfiguration', 'Message': 'Successfully imported and applied Server Configuration Profile.', 'MessageArgs': [], 'MessageId': 'SYS053', 'Name': 'Import Configuration', 'PercentComplete': 100, 'StartTime': 'TIME_NOW', 'Status': 'Success', 'TargetSettingsURI': None, 'retval': True}) Job details of the time zone setting operation. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_user.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_user.rst index e404582b8..9d92e0d0e 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_user.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_user.rst @@ -38,8 +38,6 @@ Parameters Select ``absent`` to remove a user account. - Ensure Lifecycle Controller is available because the user operation uses the capabilities of Lifecycle Controller. - user_name (True, str, None) Provide the *user_name* of the account to be created, deleted or modified. @@ -66,6 +64,12 @@ Parameters A user with ``None``, no privileges assigned. + Will be ignored, if custom_privilege parameter is provided. + + + custom_privilege (optional, int, None) + The privilege level assigned to the user. + ipmi_lan_privilege (optional, str, None) The Intelligent Platform Management Interface LAN privilege level assigned to the user. @@ -126,11 +130,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -148,7 +152,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC iDRAC. + - Run this module from a system that has direct access to Dell iDRAC. - This module supports ``check_mode``. @@ -208,11 +212,11 @@ msg (always, str, Successfully created user account details.) Status of the iDRAC user configuration. -status (success, dict, AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Successfully Completed Request'), ('MessageArgs', []), ('MessageArgs@odata.count', 0), ('MessageId', 'Base.1.5.Success'), ('RelatedProperties', []), ('RelatedProperties@odata.count', 0), ('Resolution', 'None'), ('Severity', 'OK')]), AnsibleMapping([('Message', 'The operation successfully completed.'), ('MessageArgs', []), ('MessageArgs@odata.count', 0), ('MessageId', 'IDRAC.2.1.SYS413'), ('RelatedProperties', []), ('RelatedProperties@odata.count', 0), ('Resolution', 'No response action is required.'), ('Severity', 'Informational')])])])) +status (success, dict, {'@Message.ExtendedInfo': [{'Message': 'Successfully Completed Request', 'MessageArgs': [], 'MessageArgs@odata.count': 0, 'MessageId': 'Base.1.5.Success', 'RelatedProperties': [], 'RelatedProperties@odata.count': 0, 'Resolution': 'None', 'Severity': 'OK'}, {'Message': 'The operation successfully completed.', 'MessageArgs': [], 'MessageArgs@odata.count': 0, 'MessageId': 'IDRAC.2.1.SYS413', 'RelatedProperties': [], 'RelatedProperties@odata.count': 0, 'Resolution': 'No response action is required.', 'Severity': 'Informational'}]}) Configures the iDRAC users attributes. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_user_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_user_info.rst new file mode 100644 index 000000000..85e84ff65 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_user_info.rst @@ -0,0 +1,148 @@ +.. _idrac_user_info_module: + + +idrac_user_info -- Retrieve details of all users or a specific user on iDRAC. +============================================================================= + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- + +This module retrieves the list and basic details of all users or details of a specific user on iDRAC + + + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- python >= 3.8.6 + + + +Parameters +---------- + + user_id (optional, int, None) + Sequential user id numbers that supports from 1 to 16. + + *user_id* is mutually exclusive with *username* + + + username (optional, str, None) + Username of the account that is created in iDRAC local users. + + *username* is mutually exclusive with *user_id* + + + idrac_ip (True, str, None) + iDRAC IP Address. + + + idrac_user (True, str, None) + iDRAC username. + + + idrac_password (True, str, None) + iDRAC user password. + + + idrac_port (optional, int, 443) + iDRAC port. + + + validate_certs (optional, bool, True) + 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. + + + ca_path (optional, path, None) + The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. + + + timeout (optional, int, 30) + The socket level timeout in seconds. + + + + + +Notes +----- + +.. note:: + - Run this module on a system that has direct access to Dell iDRAC. + - This module supports ``check_mode``. + + + + +Examples +-------- + +.. code-block:: yaml+jinja + + + --- + - name: Retrieve basic details of all user accounts. + dellemc.openmanage.idrac_user_info: + idrac_ip: 198.162.0.1 + idrac_user: idrac_user + idrac_password: idrac_password + ca_path: "/path/to/ca_cert.pem" + + - name: Retrieve user details using user_id + dellemc.openmanage.idrac_user_info: + idrac_ip: 198.162.0.1 + idrac_user: idrac_user + idrac_password: idrac_password + ca_path: "/path/to/ca_cert.pem" + user_id: 1 + + - name: Retrieve user details using username + dellemc.openmanage.idrac_user_info: + idrac_ip: 198.162.0.1 + idrac_user: idrac_user + idrac_password: idrac_password + ca_path: "/path/to/ca_cert.pem" + username: user_name + + + +Return Values +------------- + +msg (always, str, Successfully retrieved the user information.) + Status of user information retrieval. + + +user_info (success, list, [{'Description': 'User Account', 'Enabled': False, 'Id': '1', 'Locked': False, 'Name': 'User Account', 'Password': None, 'RoleId': 'None', 'UserName': ''}]) + Information about the user. + + +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) + Details of the HTTP Error. + + + + + +Status +------ + + + + + +Authors +~~~~~~~ + +- Husniya Hameed(@husniya_hameed) + diff --git a/ansible_collections/dellemc/openmanage/docs/modules/idrac_virtual_media.rst b/ansible_collections/dellemc/openmanage/docs/modules/idrac_virtual_media.rst index 7210dd952..479ba05bb 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/idrac_virtual_media.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/idrac_virtual_media.rst @@ -32,9 +32,9 @@ Parameters insert (True, bool, None) - ``True`` connects the remote image file. + ``true`` connects the remote image file. - ``False`` ejects the remote image file if connected. + ``false`` ejects the remote image file if connected. image (optional, path, None) @@ -42,13 +42,13 @@ Parameters The file name with .img extension is redirected as a virtual floppy and a file name with .iso extension is redirected as a virtual CDROM. - This option is required when *insert* is ``True``. + This option is required when *insert* is ``true``. The following are the examples of the share location: CIFS share: //192.168.0.1/file_path/image_name.iso, NFS share: 192.168.0.2:/file_path/image_name.img, HTTP share: http://192.168.0.3/file_path/image_name.iso, HTTPS share: https://192.168.0.4/file_path/image_name.img - CIFS share is not supported by iDRAC7 and iDRAC8. + CIFS share is not supported by iDRAC8. - HTTPS share with credentials is not supported by iDRAC7 and iDRAC8. + HTTPS share with credentials is not supported by iDRAC8. index (optional, int, None) @@ -70,12 +70,12 @@ Parameters media_type (optional, str, None) - Type of the image file. This is applicable when *insert* is ``True``. + Type of the image file. This is applicable when *insert* is ``true``. force (optional, bool, False) - ``True`` ejects the image file if already connected and inserts the file provided in *image*. This is applicable when *insert* is ``True``. + ``true`` ejects the image file if already connected and inserts the file provided in *image*. This is applicable when *insert* is ``true``. resource_id (optional, str, None) @@ -99,11 +99,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -207,7 +207,7 @@ Examples ca_path: "/path/to/ca_cert.pem" force: true virtual_media: - insert: false + insert: false - name: Insertion and ejection of image file in single task. dellemc.openmanage.idrac_virtual_media: @@ -234,7 +234,7 @@ msg (success, str, Successfully performed the virtual media operation.) Successfully performed the virtual media operation. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_active_directory.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_active_directory.rst index fa9c6b8c7..19092497d 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_active_directory.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_active_directory.rst @@ -94,25 +94,25 @@ Parameters If test fails, module will error out. - If ``yes``, *domain_username* and *domain_password* has to be provided. + If ``true``, *domain_username* and *domain_password* has to be provided. domain_password (optional, str, None) Provide the domain password. - This is applicable when *test_connection* is ``yes``. + This is applicable when *test_connection* is ``true``. domain_username (optional, str, None) Provide the domain username either in the UPN (username@domain) or NetBIOS (domain\\username) format. - This is applicable when *test_connection* is ``yes``. + This is applicable when *test_connection* is ``true``. validate_certificate (optional, bool, False) Enables validation of SSL certificate of the domain controller. - The module will always report change when this is ``yes``. + The module will always report change when this is ``true``. certificate_file (optional, path, None) @@ -120,7 +120,7 @@ Parameters The certificate should be a Root CA Certificate encoded in Base64 format. - This is applicable when *validate_certificate* is ``yes``. + This is applicable when *validate_certificate* is ``true``. hostname (True, str, None) @@ -140,11 +140,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -162,7 +162,7 @@ Notes ----- .. note:: - - The module will always report change when *validate_certificate* is ``yes``. + - The module will always report change when *validate_certificate* is ``true``. - Run this module from a system that has direct access to OpenManage Enterprise. - This module supports ``check_mode``. @@ -186,7 +186,7 @@ Examples domain_server: - domainname.com group_domain: domainname.com - test_connection: yes + test_connection: true domain_username: user@domainname domain_password: domain_password @@ -201,7 +201,7 @@ Examples domain_server: - 192.68.20.181 group_domain: domainname.com - validate_certificate: yes + validate_certificate: true certificate_file: "/path/to/certificate/file.cer" - name: Modify domain controller IP address, network_timeout and group_domain @@ -233,10 +233,10 @@ Examples password: "password" ca_path: "/path/to/ca_cert.pem" name: my_ad2 - test_connection: yes + test_connection: true domain_username: user@domainname domain_password: domain_password - validate_certificate: yes + validate_certificate: true certificate_file: "/path/to/certificate/file.cer" diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_alert_policies.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_alert_policies.rst new file mode 100644 index 000000000..0c14c7d9d --- /dev/null +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_alert_policies.rst @@ -0,0 +1,447 @@ +.. _ome_alert_policies_module: + + +ome_alert_policies -- Manage OME alert policies. +================================================ + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- + +This module allows you to create, modify, or delete alert policies on OpenManage Enterprise or OpenManage Enterprise Modular. + + + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- python \>= 3.9.6 + + + +Parameters +---------- + + name (True, list, None) + Name of an alert policy or a list of alert policies. + + More than one policy name is applicable when \ :emphasis:`state`\ is \ :literal:`absent`\ and \ :emphasis:`state`\ is \ :literal:`present`\ with only \ :emphasis:`enable`\ provided. + + + state (optional, str, present) + \ :literal:`present`\ allows you to create an alert policy or update if the policy name already exists. + + \ :literal:`absent`\ allows you to delete an alert policy. + + + enable (optional, bool, None) + \ :literal:`true`\ allows you to enable an alert policy. + + \ :literal:`false`\ allows you to disable an alert policy. + + This is applicable only when \ :emphasis:`state`\ is \ :literal:`present`\ . + + + new_name (optional, str, None) + New name for the alert policy. + + This is applicable only when \ :emphasis:`state`\ is \ :literal:`present`\ , and an alert policy exists. + + + description (optional, str, None) + Description for the alert policy. + + This is applicable only when \ :emphasis:`state`\ is \ :literal:`present`\ + + + device_service_tag (optional, list, None) + List of device service tags on which the alert policy will be applicable. + + This option is mutually exclusive with \ :emphasis:`device\_group`\ , \ :emphasis:`specific\_undiscovered\_devices`\ , \ :emphasis:`any\_undiscovered\_devices`\ and \ :emphasis:`all\_devices`\ . + + This is applicable only when \ :emphasis:`state`\ is \ :literal:`present`\ + + + device_group (optional, list, None) + List of device group names on which the alert policy is applicable. + + This option is mutually exclusive with \ :emphasis:`device\_service\_tag`\ , \ :emphasis:`specific\_undiscovered\_devices`\ , \ :emphasis:`any\_undiscovered\_devices`\ and \ :emphasis:`all\_devices`\ . + + This is applicable only when \ :emphasis:`state`\ is \ :literal:`present`\ + + + specific_undiscovered_devices (optional, list, None) + List of undiscovered IPs, hostnames, or range of IPs of devices on which the alert policy is applicable. + + This option is mutually exclusive with \ :emphasis:`device\_service\_tag`\ , \ :emphasis:`device\_group`\ , \ :emphasis:`any\_undiscovered\_devices`\ and \ :emphasis:`all\_devices`\ . + + This is applicable only when \ :emphasis:`state`\ is \ :literal:`present`\ + + Examples of valid IP range format: + + 10.35.0.0 + + 10.36.0.0-10.36.0.255 + + 10.37.0.0/24 + + 2607:f2b1:f083:135::5500/118 + + 2607:f2b1:f083:135::a500-2607:f2b1:f083:135::a600 + + hostname.domain.com + + Examples of invalid IP range format: + + 10.35.0.\* + + 10.36.0.0-255 + + 10.35.0.0/255.255.255.0 + + These values will not be validated. + + + any_undiscovered_devices (optional, bool, None) + This option indicates whether the alert policy is applicable to any undiscovered devices or not. + + This option is mutually exclusive with \ :emphasis:`device\_service\_tag`\ , \ :emphasis:`specific\_undiscovered\_devices`\ , \ :emphasis:`device\_group`\ and \ :emphasis:`all\_devices`\ . + + This is applicable only when \ :emphasis:`state`\ is \ :literal:`present`\ . + + + all_devices (optional, bool, None) + This option indicates whether the alert policy is applicable to all the discovered and undiscovered devices or not. + + This option is mutually exclusive with \ :emphasis:`device\_service\_tag`\ , \ :emphasis:`specific\_undiscovered\_devices`\ , \ :emphasis:`any\_undiscovered\_devices`\ and \ :emphasis:`device\_group`\ . + + This is applicable only when \ :emphasis:`state`\ is \ :literal:`present`\ . + + + category (optional, list, None) + Category of the alerts received. + + This is mutually exclusive with the \ :emphasis:`message\_ids`\ , \ :emphasis:`message\_file`\ . + + This is fetched from the \ :ref:`dellemc.openmanage.ome\_alert\_policies\_category\_info <ansible_collections.dellemc.openmanage.ome_alert_policies_category_info_module>`\ . + + This is applicable only when \ :emphasis:`state`\ is \ :literal:`present`\ . + + + catalog_name (True, str, None) + Name of the catalog. + + + catalog_category (optional, list, None) + Category of the catalog. + + + category_name (optional, str, None) + Name of the category. + + + sub_category_names (optional, list, None) + List of sub-categories. + + + + + message_ids (optional, list, None) + List of Message ids + + This is mutually exclusive with the \ :emphasis:`category`\ , \ :emphasis:`message\_file`\ + + This is applicable only when \ :emphasis:`state`\ is \ :literal:`present`\ + + This is fetched from the \ :ref:`dellemc.openmanage.ome\_alert\_policies\_message\_id\_info <ansible_collections.dellemc.openmanage.ome_alert_policies_message_id_info_module>`\ . + + + message_file (optional, path, None) + Local path of a CSV formatted file with message IDs + + This is mutually exclusive with the \ :emphasis:`category`\ , \ :emphasis:`message\_ids`\ + + This is applicable only when \ :emphasis:`state`\ is \ :literal:`present`\ + + This is fetched from the \ :ref:`dellemc.openmanage.ome\_alert\_policies\_message\_id\_info <ansible_collections.dellemc.openmanage.ome_alert_policies_message_id_info_module>`\ . + + + date_and_time (optional, dict, None) + Specifies the schedule for when the alert policy is applicable. + + \ :emphasis:`date\_and\_time`\ is mandatory for creating a policy and optional when updating a policy. + + This is applicable only when \ :emphasis:`state`\ is \ :literal:`present`\ . + + + date_from (True, str, None) + Start date in the format YYYY-MM-DD. + + This parameter to be provided in quotes. + + + date_to (optional, str, None) + End date in the format YYYY-MM-DD. + + This parameter to be provided in quotes. + + + time_from (optional, str, None) + Interval start time in the format HH:MM + + This parameter to be provided in quotes. + + This is mandatory when \ :emphasis:`time\_interval`\ is \ :literal:`true`\ . + + + time_to (optional, str, None) + Interval end time in the format HH:MM + + This parameter to be provided in quotes. + + This is mandatory when \ :emphasis:`time\_interval`\ is \ :literal:`true`\ + + + days (optional, list, None) + Required days of the week on which alert policy operation must be scheduled. + + + time_interval (optional, bool, None) + Enable the time interval for which alert policy must be scheduled. + + + + severity (optional, list, None) + Severity of the alert policy. + + This is mandatory for creating a policy and optional for updating a policy. + + This is applicable only when \ :emphasis:`state`\ is \ :literal:`present`\ . + + + actions (optional, list, None) + Actions to be triggered for the alert policy. + + This parameter is case-sensitive. + + This is mandatory for creating a policy and optional for updating a policy. + + This is applicable only when \ :emphasis:`state`\ is \ :literal:`present`\ + + + action_name (True, str, None) + Name of the action. + + This is fetched from the \ :ref:`dellemc.openmanage.ome\_alert\_policies\_action\_info <ansible_collections.dellemc.openmanage.ome_alert_policies_action_info_module>`\ . + + This is mandatory for creating a policy and optional for updating a policy. + + This parameter is case-sensitive. + + + parameters (optional, list, []) + Predefined parameters required to set for \ :emphasis:`action\_name`\ . + + + name (optional, str, None) + Name of the predefined parameter. + + This is fetched from the \ :ref:`dellemc.openmanage.ome\_alert\_policies\_action\_info <ansible_collections.dellemc.openmanage.ome_alert_policies_action_info_module>`\ . + + + value (optional, str, None) + Value of the predefined parameter. + + These values will not be validated. + + + + + hostname (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular IP address or hostname. + + + username (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular username. + + + password (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular password. + + + port (optional, int, 443) + OpenManage Enterprise or OpenManage Enterprise Modular HTTPS port. + + + validate_certs (optional, bool, True) + If \ :literal:`False`\ , the SSL certificates will not be validated. + + Configure \ :literal:`False`\ only on personally controlled sites where self-signed certificates are used. + + Prior to collection version \ :literal:`5.0.0`\ , the \ :emphasis:`validate\_certs`\ is \ :literal:`False`\ by default. + + + ca_path (optional, path, None) + The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. + + + timeout (optional, int, 30) + The socket level timeout in seconds. + + + + + +Notes +----- + +.. note:: + - Run this module from a system that has direct access to Dell OpenManage Enterprise or OpenManage Enterprise Modular. + - This module supports IPv4 and IPv6 addresses. + - This module supports \ :literal:`check\_mode`\ . + + + + +Examples +-------- + +.. code-block:: yaml+jinja + + + --- + - name: "Create an alert policy" + dellemc.openamanage.ome_alert_policies: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + name: "Alert Policy One" + device_service_tag: + - ABCD123 + - SVC7845 + category: + - catalog_name: Application + catalog_category: + - category_name: Audit + sub_category_names: + - Generic + - Devices + - catalog_name: iDRAC + catalog_category: + - category_name: Audit + sub_category_names: + - BIOS Management + - iDRAC Service Module + date_and_time: + date_from: "2023-10-10" + date_to: "2023-10-11" + time_from: "11:00" + time_to: "12:00" + severity: + - unknown + - critical + actions: + - action_name: Trap + parameters: + - name: "192.1.2.3:162" + value: true + - name: "traphostname.domain.com:162" + value: true + tags: create_alert_policy + + - name: "Update an alert Policy" + dellemc.openamanage.ome_alert_policies: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + new_name: "Update Policy Name" + device_group: "Group Name" + message_ids: + - AMP400 + - CTL201 + - BIOS101 + date_and_time: + date_from: "2023-10-10" + date_to: "2023-10-11" + time_from: "11:00" + time_to: "12:00" + time_interval: true + actions: + - action_name: Trap + parameters: + - name: "192.1.2.3:162" + value: true + tags: update_alert_policy + + - name: "Enable an alert policy" + dellemc.openamanage.ome_alert_policies: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + name: "Policy Name" + enable: true + tags: enable_alert_policy + + - name: "Disable multiple alert policies" + dellemc.openamanage.ome_alert_policies: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + name: + - "Policy Name 1" + - "Policy Name 2" + enable: false + tags: disable_alert_policy + + - name: "Delete an alert policy" + dellemc.openamanage.ome_alert_policies: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + name: + - "Policy Name" + state: absent + tags: delete_alert_policy + + + +Return Values +------------- + +msg (always, str, Successfully created the alert policy.) + Status of the alert policies operation. + + +status (when state is present, dict, {'Id': 12345, 'Name': 'Policy', 'Description': 'Details of the Policy', 'Enabled': True, 'DefaultPolicy': False, 'Editable': True, 'Visible': True, 'PolicyData': {'Catalogs': [{'CatalogName': 'iDRAC', 'Categories': [4], 'SubCategories': [41]}, {'CatalogName': 'Application', 'Categories': [0], 'SubCategories': [0]}], 'Severities': [16, 1, 2, 4, 8], 'Devices': [10086, 10088], 'DeviceTypes': [1000, 2000], 'Groups': [], 'Schedule': {'StartTime': '2023-06-06 15:02:46.000', 'EndTime': '2023-06-06 18:02:46.000', 'CronString': '* * * ? * * *'}, 'Actions': [{'Id': 8, 'Name': 'Email', 'ParameterDetails': [{'Id': 1, 'Name': 'subject', 'Value': 'Device Name: $name, Device IP Address: $ip, Severity: $severity', 'Type': 'string', 'TypeParams': [{'Name': 'maxLength', 'Value': '255'}]}, {'Id': 1, 'Name': 'to', 'Value': 'test@org.com', 'Type': 'string', 'TypeParams': [{'Name': 'maxLength', 'Value': '255'}]}, {'Id': 1, 'Name': 'from', 'Value': 'abc@corp.com', 'Type': 'string', 'TypeParams': [{'Name': 'maxLength', 'Value': '255'}]}, {'Id': 1, 'Name': 'message', 'Value': 'Event occurred for Device Name: $name, Device IP Address: $ip', 'Type': 'string', 'TypeParams': [{'Name': 'maxLength', 'Value': '255'}]}]}], 'UndiscoveredTargets': [], 'State': True, 'Owner': 10069}}) + The policy which was created or modified. + + +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'CMON7011', 'RelatedProperties': [], 'Message': 'Unable to create or modify the alert policy because an invalid value [To Email] is entered for the action Email.', 'MessageArgs': ['[To Email]', 'Email'], 'Severity': 'Warning', 'Resolution': 'Enter a valid value for the action identified in the message and retry the operation.'}]}}) + Details of the HTTP Error. + + + + + +Status +------ + + + + + +Authors +~~~~~~~ + +- Jagadeesh N V(@jagadeeshnv) + diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_alert_policies_actions_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_alert_policies_actions_info.rst new file mode 100644 index 000000000..a8138a0e6 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_alert_policies_actions_info.rst @@ -0,0 +1,121 @@ +.. _ome_alert_policies_actions_info_module: + + +ome_alert_policies_actions_info -- Get information on actions of alert policies. +================================================================================ + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- + +This module retrieves the information on actions of alert policies for OpenManage Enterprise and OpenManage Enterprise Modular. + + + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- python >= 3.9.6 + + + +Parameters +---------- + + hostname (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular IP address or hostname. + + + username (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular username. + + + password (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular password. + + + port (optional, int, 443) + OpenManage Enterprise or OpenManage Enterprise Modular HTTPS port. + + + validate_certs (optional, bool, True) + 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. + + + ca_path (optional, path, None) + The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. + + + timeout (optional, int, 30) + The socket level timeout in seconds. + + + + + +Notes +----- + +.. note:: + - Run this module from a system that has direct access to Dell OpenManage Enterprise or OpenManage Enterprise Modular. + - This module supports both IPv4 and IPv6 addresses. + - This module supports ``check_mode``. + + + + +Examples +-------- + +.. code-block:: yaml+jinja + + + --- + - name: Get action details of all alert policies. + dellemc.openmanage.ome_alert_policies_actions_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + + + +Return Values +------------- + +actions (success, list, [{'Name': 'Email', 'Description': 'Email', 'Disabled': False, 'ParameterDetails': [{'Id': 1, 'Name': 'subject', 'Value': 'Device Name: $name, Device IP Address: $ip, Severity: $severity', 'Type': 'string', 'TemplateParameterTypeDetails': [{'Name': 'maxLength', 'Value': '255'}]}, {'Id': 2, 'Name': 'to', 'Value': '', 'Type': 'string', 'TemplateParameterTypeDetails': [{'Name': 'maxLength', 'Value': '255'}]}, {'Id': 3, 'Name': 'from', 'Value': 'admin1@dell.com', 'Type': 'string', 'TemplateParameterTypeDetails': [{'Name': 'maxLength', 'Value': '255'}]}, {'Id': 4, 'Name': 'message', 'Value': 'Event occurred for Device Name: $name, Device IP Address: $ip, Service Tag: $identifier, UTC Time: $time, Severity: $severity, Message ID: $messageId, $message', 'Type': 'string', 'TemplateParameterTypeDetails': [{'Name': 'maxLength', 'Value': '255'}]}, {'Id': 60, 'Name': 'Trap', 'Description': 'Trap', 'Disabled': False, 'ParameterDetails': [{'Id': 1, 'Name': 'localhost:162', 'Value': 'true', 'Type': 'boolean', 'TemplateParameterTypeDetails': []}]}, {'Id': 90, 'Name': 'Syslog', 'Description': 'Syslog', 'Disabled': False, 'ParameterDetails': [{'Id': 1, 'Name': 'localhost.scomdev.com:555', 'Value': 'true', 'Type': 'boolean', 'TemplateParameterTypeDetails': []}, {'Id': 2, 'Name': 'localhost.scomdev.com:555', 'Value': 'true', 'Type': 'boolean', 'TemplateParameterTypeDetails': []}]}, {'Id': 100, 'Name': 'Ignore', 'Description': 'Ignore', 'Disabled': False, 'ParameterDetails': []}, {'Id': 70, 'Name': 'SMS', 'Description': 'SMS', 'Disabled': False, 'ParameterDetails': [{'Id': 1, 'Name': 'to', 'Value': '', 'Type': 'string', 'TemplateParameterTypeDetails': [{'Name': 'maxLength', 'Value': '255'}]}]}, {'Id': 110, 'Name': 'PowerControl', 'Description': 'Power Control Action Template', 'Disabled': False, 'ParameterDetails': [{'Id': 1, 'Name': 'powercontrolaction', 'Value': 'poweroff', 'Type': 'singleSelect', 'TemplateParameterTypeDetails': [{'Name': 'option', 'Value': 'powercycle'}, {'Name': 'option', 'Value': 'poweroff'}, {'Name': 'option', 'Value': 'poweron'}, {'Name': 'option', 'Value': 'gracefulshutdown'}]}]}, {'Id': 111, 'Name': 'RemoteCommand', 'Description': 'RemoteCommand', 'Disabled': True, 'ParameterDetails': [{'Id': 1, 'Name': 'remotecommandaction', 'Value': None, 'Type': 'singleSelect', 'TemplateParameterTypeDetails': []}]}, {'Id': 112, 'Name': 'Mobile', 'Description': 'Mobile', 'Disabled': False, 'ParameterDetails': []}]}]) + Returns the alert policies action information collected from the Device. + + +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) + Details of the HTTP Error. + + +msg (always, str, Successfully retrieved alert policies actions information.) + Status of the alert policies actions fetch operation. + + + + + +Status +------ + + + + + +Authors +~~~~~~~ + +- Kritika Bhateja (@Kritika-Bhateja-03) + diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_alert_policies_category_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_alert_policies_category_info.rst new file mode 100644 index 000000000..20edbe90b --- /dev/null +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_alert_policies_category_info.rst @@ -0,0 +1,121 @@ +.. _ome_alert_policies_category_info_module: + + +ome_alert_policies_category_info -- Retrieves information of all OME alert policy categories. +============================================================================================= + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- + +This module allows to retrieve all the alert policy categories for OpenManage Enterprise and OpenManage Enterprise Modular. + + + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- python >= 3.9.6 + + + +Parameters +---------- + + hostname (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular IP address or hostname. + + + username (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular username. + + + password (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular password. + + + port (optional, int, 443) + OpenManage Enterprise or OpenManage Enterprise Modular HTTPS port. + + + validate_certs (optional, bool, True) + 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. + + + ca_path (optional, path, None) + The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. + + + timeout (optional, int, 30) + The socket level timeout in seconds. + + + + + +Notes +----- + +.. note:: + - Run this module from a system that has direct access to Dell OpenManage Enterprise or OpenManage Enterprise Modular. + - This module supports IPv4 and IPv6 addresses. + - This module supports ``check_mode``. + + + + +Examples +-------- + +.. code-block:: yaml+jinja + + + --- + - name: Retrieve information about all the OME alert policy categories + dellemc.openmanage.ome_alert_policies_category_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + + + +Return Values +------------- + +msg (always, str, Successfully retrieved alert policies category information.) + Status of the alert policies category fetch operation. + + +categories (always, list, [{'CategoriesDetails': [{'CatalogName': 'Application', 'Id': 5, 'Name': 'Configuration', 'SubCategoryDetails': [{'Description': 'Application', 'Id': 85, 'Name': 'Application'}, {'Description': 'Users', 'Id': 35, 'Name': 'Users'}]}, {'CatalogName': 'Application', 'Id': 7, 'Name': 'Miscellaneous', 'SubCategoryDetails': [{'Description': 'Miscellaneous', 'Id': 20, 'Name': 'Miscellaneous'}]}, {'CatalogName': 'Application', 'Id': 2, 'Name': 'Storage', 'SubCategoryDetails': [{'Description': 'Devices', 'Id': 90, 'Name': 'Devices'}]}, {'CatalogName': 'Application', 'Id': 3, 'Name': 'Updates', 'SubCategoryDetails': [{'Description': 'Application', 'Id': 85, 'Name': 'Application'}, {'Description': 'Firmware', 'Id': 112, 'Name': 'Firmware'}]}], 'IsBuiltIn': True, 'Name': 'Application'}, {'CategoriesDetails': [{'CatalogName': 'Dell Storage', 'Id': 2, 'Name': 'Storage', 'SubCategoryDetails': [{'Description': 'Other', 'Id': 7700, 'Name': 'Other'}]}, {'CatalogName': 'Dell Storage', 'Id': 1, 'Name': 'System Health', 'SubCategoryDetails': [{'Description': 'Other', 'Id': 7700, 'Name': 'Other'}, {'Description': 'Storage', 'Id': 18, 'Name': 'Storage'}]}], 'IsBuiltIn': True, 'Name': 'Dell Storage'}, {'CategoriesDetails': [{'CatalogName': 'iDRAC', 'Id': 4, 'Name': 'Audit', 'SubCategoryDetails': [{'Description': 'Auto System Reset', 'Id': 41, 'Name': 'Auto System Reset'}, {'Description': 'UEFI Event', 'Id': 55, 'Name': 'UEFI Event'}, {'Description': 'User Tracking', 'Id': 56, 'Name': 'User Tracking'}]}, {'CatalogName': 'iDRAC', 'Id': 5, 'Name': 'Configuration', 'SubCategoryDetails': [{'Description': 'Auto-Discovery', 'Id': 49, 'Name': 'Auto-Discovery'}, {'Description': 'vFlash Event', 'Id': 66, 'Name': 'vFlash Event'}, {'Description': 'Virtual Console', 'Id': 7, 'Name': 'Virtual Console'}]}, {'CatalogName': 'iDRAC', 'Id': 2, 'Name': 'Storage', 'SubCategoryDetails': [{'Description': 'Battery Event', 'Id': 108, 'Name': 'Battery Event'}, {'Description': 'Virtual Disk', 'Id': 46, 'Name': 'Virtual Disk'}]}, {'CatalogName': 'iDRAC', 'Id': 1, 'Name': 'System Health', 'SubCategoryDetails': [{'Description': 'Amperage', 'Id': 67, 'Name': 'Amperage'}, {'Description': 'Auto System Reset', 'Id': 41, 'Name': 'Auto System Reset'}, {'Description': 'Voltage', 'Id': 40, 'Name': 'Voltage'}]}, {'CatalogName': 'iDRAC', 'Id': 6, 'Name': 'Work Notes', 'SubCategoryDetails': [{'Description': 'BIOS Management', 'Id': 54, 'Name': 'BIOS Management'}]}], 'IsBuiltIn': True, 'Name': 'iDRAC'}]) + Information about the alert categories. + + +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'CGEN1234', 'RelatedProperties': [], 'Message': 'Unable to complete the request because the resource URI does not exist or is not implemented.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': "Check the request resource URI. Refer to the OpenManage Enterprise-Modular User's Guide for more information about resource URI and its properties."}]}}) + Details of the HTTP Error. + + + + + +Status +------ + + + + + +Authors +~~~~~~~ + +- Jagadeesh N V(@jagadeeshnv) + diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_alert_policies_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_alert_policies_info.rst new file mode 100644 index 000000000..8dbe503d8 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_alert_policies_info.rst @@ -0,0 +1,137 @@ +.. _ome_alert_policies_info_module: + + +ome_alert_policies_info -- Retrieves information of one or more OME alert policies. +=================================================================================== + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- + +This module retrieves the information of alert policies for OpenManage Enterprise and OpenManage Enterprise Modular. + +A list of information about a specific OME alert policy using the policy name. + +A list of all the OME alert policies with their information when the policy name is not provided. + + + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- python >= 3.9.6 + + + +Parameters +---------- + + policy_name (optional, str, None) + Name of the policy. + + + hostname (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular IP address or hostname. + + + username (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular username. + + + password (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular password. + + + port (optional, int, 443) + OpenManage Enterprise or OpenManage Enterprise Modular HTTPS port. + + + validate_certs (optional, bool, True) + 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. + + + ca_path (optional, path, None) + The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. + + + timeout (optional, int, 30) + The socket level timeout in seconds. + + + + + +Notes +----- + +.. note:: + - Run this module from a system that has direct access to Dell OpenManage Enterprise or OpenManage Enterprise Modular. + - This module supports both IPv4 and IPv6 addresses. + - This module supports ``check_mode``. + + + + +Examples +-------- + +.. code-block:: yaml+jinja + + + --- + - name: Retrieve information about all OME alert policies. + dellemc.openmanage.ome_alert_policies_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + + - name: Retrieve information about a specific OME alert policy using the policy name. + dellemc.openmanage.ome_alert_policies_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + policy_name: "Mobile Push Notification - Critical Alerts" + + + +Return Values +------------- + +msg (always, str, Successfully retrieved all the OME alert policies information.) + Status of the alert policies info fetch operation. + + +policies (success, list, [{'Id': 10006, 'Name': 'Mobile Push Notification - Critical Alerts', 'Description': 'This policy is applicable to critical alerts. Associated actions will be taken when a critical alert is received.', 'Enabled': True, 'DefaultPolicy': True, 'PolicyData': {'Catalogs': [], 'Severities': [16], 'MessageIds': [], 'Devices': [], 'DeviceTypes': [], 'Groups': [], 'AllTargets': False, 'Schedule': {'StartTime': None, 'EndTime': None, 'CronString': None, 'Interval': False}, 'Actions': [{'Id': 5, 'Name': 'Mobile', 'ParameterDetails': [], 'TemplateId': 112}], 'UndiscoveredTargets': []}, 'State': True, 'Visible': True, 'Owner': None}]) + Retrieve information about all the OME alert policies. + + +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) + Details of the HTTP Error. + + + + + +Status +------ + + + + + +Authors +~~~~~~~ + +- Abhishek Sinha(@ABHISHEK-SINHA10) + diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_alert_policies_message_id_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_alert_policies_message_id_info.rst new file mode 100644 index 000000000..1be11ecbb --- /dev/null +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_alert_policies_message_id_info.rst @@ -0,0 +1,121 @@ +.. _ome_alert_policies_message_id_info_module: + + +ome_alert_policies_message_id_info -- Get message ID information of alert policies. +=================================================================================== + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- + +This module retrieves the message ID information of alert policies for OpenManage Enterprise and OpenManage Enterprise Modular. + + + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- python >= 3.9.6 + + + +Parameters +---------- + + hostname (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular IP address or hostname. + + + username (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular username. + + + password (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular password. + + + port (optional, int, 443) + OpenManage Enterprise or OpenManage Enterprise Modular HTTPS port. + + + validate_certs (optional, bool, True) + 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. + + + ca_path (optional, path, None) + The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. + + + timeout (optional, int, 30) + The socket level timeout in seconds. + + + + + +Notes +----- + +.. note:: + - Run this module from a system that has direct access to Dell OpenManage Enterprise or OpenManage Enterprise Modular. + - This module supports ``check_mode``. + - This module supports IPv4 and IPv6 addresses. + + + + +Examples +-------- + +.. code-block:: yaml+jinja + + + --- + - name: Get message ID details of all alert policies + dellemc.openmanage.ome_alert_policies_message_id_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + + + +Return Values +------------- + +msg (always, str, Successfully retrieved alert policies message ids information.) + Status of the alert policies message ids fetch operation. + + +message_ids (success, dict, [{'Category': 'System Health', 'DetailedDescription': 'The current sensor identified in the message has failed. This condition can cause system performance issues and degradation in the monitoring capability of the system.', 'Message': 'The ${0} sensor has failed, and the last recorded value by the sensor was ${1} A.', 'MessageId': 'AMP400', 'Prefix': 'AMP', 'RecommendedAction': 'Check the Embedded System Management (ESM) Log for any sensor related faults. If there is a failed sensor, replace the system board. For more information, contact your service provider.', 'SequenceNo': 400, 'Severity': 'Critical', 'SubCategory': 'Amperage'}, {'Category': 'System Health', 'DetailedDescription': 'The current sensor identified in the message has failed. This condition can cause system performance issues and degradation in the monitoring capability of the system.', 'Message': 'Unable to read the ${0} sensor value.', 'MessageId': 'AMP401', 'Prefix': 'AMP', 'RecommendedAction': 'Check the Embedded System Management (ESM) Log for any sensor related faults. If there is a failed sensor, replace the system board. For more information, contact your service provider.', 'SequenceNo': 401, 'Severity': 'Warning', 'SubCategory': 'Amperage'}]) + Details of the message ids. + + +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) + Details of the HTTP Error. + + + + + +Status +------ + + + + + +Authors +~~~~~~~ + +- Shivam Sharma (@ShivamSh3) + diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_alerts_smtp.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_alerts_smtp.rst index 2b34f1cdd..ce2b05be0 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_alerts_smtp.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_alerts_smtp.rst @@ -42,9 +42,9 @@ Parameters enable_authentication (True, bool, None) Enable or disable authentication to access the SMTP server. - The *credentials* are mandatory if *enable_authentication* is ``True``. + The *credentials* are mandatory if *enable_authentication* is ``true``. - The module will always report change when this is ``True``. + The module will always report change when this is ``true``. credentials (optional, dict, None) @@ -77,11 +77,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -99,8 +99,8 @@ Notes ----- .. note:: - - The module will always report change when *enable_authentication* is ``True``. - - Run this module from a system that has direct access to Dell EMC OpenManage Enterprise or OpenManage Enterprise Modular. + - The module will always report change when *enable_authentication* is ``true``. + - Run this module from a system that has direct access to Dell OpenManage Enterprise or OpenManage Enterprise Modular. - This module support ``check_mode``. @@ -146,11 +146,11 @@ msg (always, str, Successfully updated the SMTP settings.) Overall status of the SMTP settings update. -smtp_details (success, dict, AnsibleMapping([('DestinationAddress', 'localhost'), ('PortNumber', 25), ('UseCredentials', True), ('UseSSL', False), ('Credential', AnsibleMapping([('User', 'admin'), ('Password', None)]))])) +smtp_details (success, dict, {'DestinationAddress': 'localhost', 'PortNumber': 25, 'UseCredentials': True, 'UseSSL': False, 'Credential': {'User': 'admin', 'Password': None}}) returned when SMTP settings are updated successfully. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'CAPP1106'), ('RelatedProperties', []), ('Message', 'Unable to update the SMTP settings because the entered credential is invalid or empty.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Either enter valid credentials or disable the Use Credentials option and retry the operation.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'CAPP1106', 'RelatedProperties': [], 'Message': 'Unable to update the SMTP settings because the entered credential is invalid or empty.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Either enter valid credentials or disable the Use Credentials option and retry the operation.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_alerts_syslog.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_alerts_syslog.rst index d741e1671..7fddd6e13 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_alerts_syslog.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_alerts_syslog.rst @@ -42,7 +42,7 @@ Parameters destination_address (optional, str, None) The IP address, FQDN or hostname of the syslog server. - This is required if *enabled* is ``True``. + This is required if *enabled* is ``true``. port_number (optional, int, None) @@ -67,11 +67,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -89,7 +89,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to Dell EMC OpenManage Enterprise or Dell EMC OpenManage Enterprise Modular. + - Run this module from a system that has direct access to Dell OpenManage Enterprise or Dell OpenManage Enterprise Modular. - This module supports ``check_mode``. @@ -142,11 +142,11 @@ msg (always, str, Successfully updated the syslog forwarding settings.) Overall status of the syslog forwarding operation. -syslog_details (on success, list, [AnsibleMapping([('DestinationAddress', '192.168.10.43'), ('Enabled', False), ('Id', 1), ('PortNumber', 514)]), AnsibleMapping([('DestinationAddress', '192.168.10.46'), ('Enabled', True), ('Id', 2), ('PortNumber', 514)]), AnsibleMapping([('DestinationAddress', '192.168.10.44'), ('Enabled', True), ('Id', 3), ('PortNumber', 514)]), AnsibleMapping([('DestinationAddress', '192.168.10.42'), ('Enabled', True), ('Id', 4), ('PortNumber', 515)])]) +syslog_details (on success, list, [{'DestinationAddress': '192.168.10.43', 'Enabled': False, 'Id': 1, 'PortNumber': 514}, {'DestinationAddress': '192.168.10.46', 'Enabled': True, 'Id': 2, 'PortNumber': 514}, {'DestinationAddress': '192.168.10.44', 'Enabled': True, 'Id': 3, 'PortNumber': 514}, {'DestinationAddress': '192.168.10.42', 'Enabled': True, 'Id': 4, 'PortNumber': 515}]) Syslog forwarding settings list applied. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'CAPP1108'), ('RelatedProperties', []), ('Message', 'Unable to update the Syslog settings because the request contains an invalid number of configurations. The request must contain no more than 4 configurations but contains 5.'), ('MessageArgs', ['4', '5']), ('Severity', 'Warning'), ('Resolution', 'Enter only the required number of configurations as identified in the message and retry the operation.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'CAPP1108', 'RelatedProperties': [], 'Message': 'Unable to update the Syslog settings because the request contains an invalid number of configurations. The request must contain no more than 4 configurations but contains 5.', 'MessageArgs': ['4', '5'], 'Severity': 'Warning', 'Resolution': 'Enter only the required number of configurations as identified in the message and retry the operation.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_certificate.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_certificate.rst index e4fbec1cc..d3c8a2a0d 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_certificate.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_certificate.rst @@ -20,7 +20,7 @@ Requirements ------------ The below requirements are needed on the host that executes this module. -- python >= 3.8.6 +- python >= 3.9.6 @@ -59,6 +59,12 @@ Parameters Email associated with the issuer. This option is applicable for ``generate_csr``. + subject_alternative_names (optional, str, None) + Subject alternative name required for the certificate signing request generation. + + Supports up to 4 comma separated values starting from primary, secondary, Tertiary and Quaternary values. + + upload_file (optional, str, None) Local path of the certificate file to be uploaded. This option is applicable for ``upload``. Once the certificate is uploaded, OpenManage Enterprise cannot be accessed for a few seconds. @@ -80,11 +86,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -130,6 +136,22 @@ Examples country: "US" email: "support@dell.com" + - name: Generate a certificate signing request with subject alternative names + dellemc.openmanage.ome_application_certificate: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + command: "generate_csr" + distinguished_name: "hostname.com" + subject_alternative_names: "hostname1.chassis.com,hostname2.chassis.com" + department_name: "Remote Access Group" + business_name: "Dell Inc." + locality: "Round Rock" + country_state: "Texas" + country: "US" + email: "support@dell.com" + - name: Upload the certificate dellemc.openmanage.ome_application_certificate: hostname: "192.168.0.1" @@ -148,11 +170,11 @@ msg (always, str, Successfully generated certificate signing request.) Overall status of the certificate signing request. -csr_status (on success, dict, AnsibleMapping([('CertificateData', '-----BEGIN CERTIFICATE REQUEST-----GHFSUEKLELE af3u4h2rkdkfjasczjfefhkrr/frjrfrjfrxnvzklf/nbcvxmzvndlskmcvbmzkdk kafhaksksvklhfdjtrhhffgeth/tashdrfstkm@kdjFGD/sdlefrujjfvvsfeikdf yeufghdkatbavfdomehtdnske/tahndfavdtdfgeikjlagmdfbandfvfcrfgdtwxc qwgfrteyupojmnsbajdkdbfs/ujdfgthedsygtamnsuhakmanfuarweyuiwruefjr etwuwurefefgfgurkjkdmbvfmvfvfk==-----END CERTIFICATE REQUEST-----')])) +csr_status (on success, dict, {'CertificateData': '-----BEGIN CERTIFICATE REQUEST-----GHFSUEKLELE af3u4h2rkdkfjasczjfefhkrr/frjrfrjfrxnvzklf/nbcvxmzvndlskmcvbmzkdk kafhaksksvklhfdjtrhhffgeth/tashdrfstkm@kdjFGD/sdlefrujjfvvsfeikdf yeufghdkatbavfdomehtdnske/tahndfavdtdfgeikjlagmdfbandfvfcrfgdtwxc qwgfrteyupojmnsbajdkdbfs/ujdfgthedsygtamnsuhakmanfuarweyuiwruefjr etwuwurefefgfgurkjkdmbvfmvfvfk==-----END CERTIFICATE REQUEST-----'}) Details of the generated certificate. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'CSEC9002'), ('RelatedProperties', []), ('Message', 'Unable to upload the certificate because the certificate file provided is invalid.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Make sure the CA certificate and private key are correct and retry the operation.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'CSEC9002', 'RelatedProperties': [], 'Message': 'Unable to upload the certificate because the certificate file provided is invalid.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Make sure the CA certificate and private key are correct and retry the operation.'}]}}) Details of the HTTP error. @@ -170,4 +192,6 @@ Authors ~~~~~~~ - Felix Stephen (@felixs88) +- Kritika Bhateja (@Kritika-Bhateja-03) +- Jennifer John (@Jennifer-John) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_console_preferences.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_console_preferences.rst index b30d66523..79ce3f7d4 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_console_preferences.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_console_preferences.rst @@ -166,11 +166,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -218,7 +218,7 @@ Examples common_mac_addresses: "::" server_initiated_discovery: device_discovery_approval_policy: Automatic - set_trap_destination: True + set_trap_destination: true mx7000_onboarding_preferences: all builtin_appliance_share: share_options: CIFS @@ -273,7 +273,7 @@ Examples ca_path: "/path/to/ca_cert.pem" server_initiated_discovery: device_discovery_approval_policy: Automatic - set_trap_destination: True + set_trap_destination: true mx7000_onboarding_preferences: chassis email_sender_settings: "admin@dell.com" trap_forwarding_format: Original @@ -288,11 +288,11 @@ msg (always, str, Successfully update the console preferences.) Overall status of the console preferences. -console_preferences (on success, list, [AnsibleMapping([('Name', 'DEVICE_PREFERRED_NAME'), ('DefaultValue', 'SLOT_NAME'), ('Value', 'PREFER_DNS,PREFER_IDRAC_SYSTEM_HOSTNAME'), ('DataType', 'java.lang.String'), ('GroupName', 'DISCOVERY_SETTING')]), AnsibleMapping([('Name', 'INVALID_DEVICE_HOSTNAME'), ('DefaultValue', ''), ('Value', 'localhost,localhost.localdomain,not defined,pv132t,pv136t,default,dell,idrac-'), ('DataType', 'java.lang.String'), ('GroupName', 'DISCOVERY_SETTING')]), AnsibleMapping([('Name', 'COMMON_MAC_ADDRESSES'), ('DefaultValue', ''), ('Value', '00:53:45:00:00:00,33:50:6F:45:30:30,50:50:54:50:30:30,00:00:FF:FF:FF:FF,20:41:53:59:4E:FF,00:00:00:00:00:00,20:41:53:59:4e:ff,00:00:00:00:00:00'), ('DataType', 'java.lang.String'), ('GroupName', 'DISCOVERY_SETTING')]), AnsibleMapping([('Name', 'SHARE_TYPE'), ('DefaultValue', 'CIFS'), ('Value', 'CIFS'), ('DataType', 'java.lang.String'), ('GroupName', 'BUILT_IN_APPLIANCE_SHARE_SETTINGS')]), AnsibleMapping([('Name', 'TRAP_FORWARDING_SETTING'), ('DefaultValue', 'AsIs'), ('Value', 'Normalized'), ('DataType', 'java.lang.String'), ('GroupName', '')]), AnsibleMapping([('Name', 'DATA_PURGE_INTERVAL'), ('DefaultValue', '365'), ('Value', '3650000'), ('DataType', 'java.lang.Integer'), ('GroupName', '')]), AnsibleMapping([('Name', 'CONSOLE_CONNECTION_SETTING'), ('DefaultValue', 'last_known'), ('Value', 'last_known'), ('DataType', 'java.lang.String'), ('GroupName', 'CONSOLE_CONNECTION_SETTING')]), AnsibleMapping([('Name', 'MIN_PROTOCOL_VERSION'), ('DefaultValue', 'V2'), ('Value', 'V1'), ('DataType', 'java.lang.String'), ('GroupName', 'CIFS_PROTOCOL_SETTINGS')]), AnsibleMapping([('Name', 'ALERT_ACKNOWLEDGEMENT_VIEW'), ('DefaultValue', '2000'), ('Value', '2000'), ('DataType', 'java.lang.Integer'), ('GroupName', '')]), AnsibleMapping([('Name', 'AUTO_CONSOLE_UPDATE_AFTER_DOWNLOAD'), ('DefaultValue', 'false'), ('Value', 'false'), ('DataType', 'java.lang.Boolean'), ('GroupName', 'CONSOLE_UPDATE_SETTING_GROUP')]), AnsibleMapping([('Name', 'NODE_INITIATED_DISCOVERY_SET_TRAP_DESTINATION'), ('DefaultValue', 'false'), ('Value', 'false'), ('DataType', 'java.lang.Boolean'), ('GroupName', '')]), AnsibleMapping([('Name', 'REPORTS_MAX_RESULTS_LIMIT'), ('DefaultValue', '0'), ('Value', '2000000000000000000000000'), ('DataType', 'java.lang.Integer'), ('GroupName', '')]), AnsibleMapping([('Name', 'EMAIL_SENDER'), ('DefaultValue', 'omcadmin@dell.com'), ('Value', 'admin1@dell.com@dell.com@dell.com'), ('DataType', 'java.lang.String'), ('GroupName', '')]), AnsibleMapping([('Name', 'MX7000_ONBOARDING_PREF'), ('DefaultValue', 'all'), ('Value', 'test_chassis'), ('DataType', 'java.lang.String'), ('GroupName', '')]), AnsibleMapping([('Name', 'DISCOVERY_APPROVAL_POLICY'), ('DefaultValue', 'Automatic'), ('Value', 'Automatic_test'), ('DataType', 'java.lang.String'), ('GroupName', '')])]) +console_preferences (on success, list, [{'Name': 'DEVICE_PREFERRED_NAME', 'DefaultValue': 'SLOT_NAME', 'Value': 'PREFER_DNS,PREFER_IDRAC_SYSTEM_HOSTNAME', 'DataType': 'java.lang.String', 'GroupName': 'DISCOVERY_SETTING'}, {'Name': 'INVALID_DEVICE_HOSTNAME', 'DefaultValue': '', 'Value': 'localhost,localhost.localdomain,not defined,pv132t,pv136t,default,dell,idrac-', 'DataType': 'java.lang.String', 'GroupName': 'DISCOVERY_SETTING'}, {'Name': 'COMMON_MAC_ADDRESSES', 'DefaultValue': '', 'Value': '00:53:45:00:00:00,33:50:6F:45:30:30,50:50:54:50:30:30,00:00:FF:FF:FF:FF,20:41:53:59:4E:FF,00:00:00:00:00:00,20:41:53:59:4e:ff,00:00:00:00:00:00', 'DataType': 'java.lang.String', 'GroupName': 'DISCOVERY_SETTING'}, {'Name': 'SHARE_TYPE', 'DefaultValue': 'CIFS', 'Value': 'CIFS', 'DataType': 'java.lang.String', 'GroupName': 'BUILT_IN_APPLIANCE_SHARE_SETTINGS'}, {'Name': 'TRAP_FORWARDING_SETTING', 'DefaultValue': 'AsIs', 'Value': 'Normalized', 'DataType': 'java.lang.String', 'GroupName': ''}, {'Name': 'DATA_PURGE_INTERVAL', 'DefaultValue': '365', 'Value': '3650000', 'DataType': 'java.lang.Integer', 'GroupName': ''}, {'Name': 'CONSOLE_CONNECTION_SETTING', 'DefaultValue': 'last_known', 'Value': 'last_known', 'DataType': 'java.lang.String', 'GroupName': 'CONSOLE_CONNECTION_SETTING'}, {'Name': 'MIN_PROTOCOL_VERSION', 'DefaultValue': 'V2', 'Value': 'V1', 'DataType': 'java.lang.String', 'GroupName': 'CIFS_PROTOCOL_SETTINGS'}, {'Name': 'ALERT_ACKNOWLEDGEMENT_VIEW', 'DefaultValue': '2000', 'Value': '2000', 'DataType': 'java.lang.Integer', 'GroupName': ''}, {'Name': 'AUTO_CONSOLE_UPDATE_AFTER_DOWNLOAD', 'DefaultValue': 'false', 'Value': 'false', 'DataType': 'java.lang.Boolean', 'GroupName': 'CONSOLE_UPDATE_SETTING_GROUP'}, {'Name': 'NODE_INITIATED_DISCOVERY_SET_TRAP_DESTINATION', 'DefaultValue': 'false', 'Value': 'false', 'DataType': 'java.lang.Boolean', 'GroupName': ''}, {'Name': 'REPORTS_MAX_RESULTS_LIMIT', 'DefaultValue': '0', 'Value': '2000000000000000000000000', 'DataType': 'java.lang.Integer', 'GroupName': ''}, {'Name': 'EMAIL_SENDER', 'DefaultValue': 'omcadmin@dell.com', 'Value': 'admin1@dell.com@dell.com@dell.com', 'DataType': 'java.lang.String', 'GroupName': ''}, {'Name': 'MX7000_ONBOARDING_PREF', 'DefaultValue': 'all', 'Value': 'test_chassis', 'DataType': 'java.lang.String', 'GroupName': ''}, {'Name': 'DISCOVERY_APPROVAL_POLICY', 'DefaultValue': 'Automatic', 'Value': 'Automatic_test', 'DataType': 'java.lang.String', 'GroupName': ''}]) Details of the console preferences. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'CGEN1006'), ('RelatedProperties', []), ('Message', 'Unable to complete the request because the resource URI does not exist or is not implemented.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Enter a valid URI and retry the operation.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'CGEN1006', 'RelatedProperties': [], 'Message': 'Unable to complete the request because the resource URI does not exist or is not implemented.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Enter a valid URI and retry the operation.'}]}}) Details of the HTTP error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_address.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_address.rst index c3e3228b8..c5931f2c6 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_address.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_address.rst @@ -214,11 +214,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -365,15 +365,15 @@ msg (always, str, Successfully updated network address configuration) Overall status of the network address configuration change. -network_configuration (on success, dict, AnsibleMapping([('Delay', 0), ('DnsConfiguration', AnsibleMapping([('DnsDomainName', ''), ('DnsName', 'MX-SVCTAG'), ('RegisterWithDNS', False), ('UseDHCPForDNSDomainName', True)])), ('EnableNIC', True), ('InterfaceName', 'eth0'), ('PrimaryInterface', True), ('Ipv4Configuration', AnsibleMapping([('Enable', True), ('EnableDHCP', False), ('StaticAlternateDNSServer', ''), ('StaticGateway', '192.168.0.2'), ('StaticIPAddress', '192.168.0.3'), ('StaticPreferredDNSServer', '192.168.0.4'), ('StaticSubnetMask', '255.255.254.0'), ('UseDHCPForDNSServerNames', False)])), ('Ipv6Configuration', AnsibleMapping([('Enable', True), ('EnableAutoConfiguration', True), ('StaticAlternateDNSServer', ''), ('StaticGateway', ''), ('StaticIPAddress', ''), ('StaticPreferredDNSServer', ''), ('StaticPrefixLength', 0), ('UseDHCPForDNSServerNames', True)])), ('ManagementVLAN', AnsibleMapping([('EnableVLAN', False), ('Id', 1)]))])) +network_configuration (on success, dict, {'Delay': 0, 'DnsConfiguration': {'DnsDomainName': '', 'DnsName': 'MX-SVCTAG', 'RegisterWithDNS': False, 'UseDHCPForDNSDomainName': True}, 'EnableNIC': True, 'InterfaceName': 'eth0', 'PrimaryInterface': True, 'Ipv4Configuration': {'Enable': True, 'EnableDHCP': False, 'StaticAlternateDNSServer': '', 'StaticGateway': '192.168.0.2', 'StaticIPAddress': '192.168.0.3', 'StaticPreferredDNSServer': '192.168.0.4', 'StaticSubnetMask': '255.255.254.0', 'UseDHCPForDNSServerNames': False}, 'Ipv6Configuration': {'Enable': True, 'EnableAutoConfiguration': True, 'StaticAlternateDNSServer': '', 'StaticGateway': '', 'StaticIPAddress': '', 'StaticPreferredDNSServer': '', 'StaticPrefixLength': 0, 'UseDHCPForDNSServerNames': True}, 'ManagementVLAN': {'EnableVLAN': False, 'Id': 1}}) Updated application network address configuration. -job_info (on success, dict, AnsibleMapping([('Builtin', False), ('CreatedBy', 'system'), ('Editable', True), ('EndTime', None), ('Id', 14902), ('JobDescription', 'Generic OME runtime task'), ('JobName', 'OMERealtime_Task'), ('JobStatus', AnsibleMapping([('Id', 2080), ('Name', 'New')])), ('JobType', AnsibleMapping([('Id', 207), ('Internal', True), ('Name', 'OMERealtime_Task')])), ('LastRun', None), ('LastRunStatus', AnsibleMapping([('Id', 2080), ('Name', 'New')])), ('NextRun', None), ('Params', [AnsibleMapping([('JobId', 14902), ('Key', 'Nmcli_Update'), ('Value', '{"interfaceName":"eth0","profileName":"eth0","enableNIC":true, "ipv4Configuration":{"enable":true,"enableDHCP":true,"staticIPAddress":"", "staticSubnetMask":"","staticGateway":"","useDHCPForDNSServerNames":true, "staticPreferredDNSServer":"","staticAlternateDNSServer":""}, "ipv6Configuration":{"enable":false,"enableAutoConfiguration":true,"staticIPAddress":"", "staticPrefixLength":0,"staticGateway":"","useDHCPForDNSServerNames":false, "staticPreferredDNSServer":"","staticAlternateDNSServer":""}, "managementVLAN":{"enableVLAN":false,"id":0},"dnsConfiguration":{"registerWithDNS":false, "dnsName":"","useDHCPForDNSDomainName":false,"dnsDomainName":"","fqdndomainName":"", "ipv4CurrentPreferredDNSServer":"","ipv4CurrentAlternateDNSServer":"", "ipv6CurrentPreferredDNSServer":"","ipv6CurrentAlternateDNSServer":""}, "currentSettings":{"ipv4Address":[],"ipv4Gateway":"","ipv4Dns":[],"ipv4Domain":"", "ipv6Address":[],"ipv6LinkLocalAddress":"","ipv6Gateway":"","ipv6Dns":[], "ipv6Domain":""},"delay":0,"primaryInterface":true,"modifiedConfigs":{}}')])]), ('Schedule', 'startnow'), ('StartTime', None), ('State', 'Enabled'), ('Targets', []), ('UpdatedBy', None), ('Visible', True)])) +job_info (on success, dict, {'Builtin': False, 'CreatedBy': 'system', 'Editable': True, 'EndTime': None, 'Id': 14902, 'JobDescription': 'Generic OME runtime task', 'JobName': 'OMERealtime_Task', 'JobStatus': {'Id': 2080, 'Name': 'New'}, 'JobType': {'Id': 207, 'Internal': True, 'Name': 'OMERealtime_Task'}, 'LastRun': None, 'LastRunStatus': {'Id': 2080, 'Name': 'New'}, 'NextRun': None, 'Params': [{'JobId': 14902, 'Key': 'Nmcli_Update', 'Value': '{"interfaceName":"eth0","profileName":"eth0","enableNIC":true, "ipv4Configuration":{"enable":true,"enableDHCP":true,"staticIPAddress":"", "staticSubnetMask":"","staticGateway":"","useDHCPForDNSServerNames":true, "staticPreferredDNSServer":"","staticAlternateDNSServer":""}, "ipv6Configuration":{"enable":false,"enableAutoConfiguration":true,"staticIPAddress":"", "staticPrefixLength":0,"staticGateway":"","useDHCPForDNSServerNames":false, "staticPreferredDNSServer":"","staticAlternateDNSServer":""}, "managementVLAN":{"enableVLAN":false,"id":0},"dnsConfiguration":{"registerWithDNS":false, "dnsName":"","useDHCPForDNSDomainName":false,"dnsDomainName":"","fqdndomainName":"", "ipv4CurrentPreferredDNSServer":"","ipv4CurrentAlternateDNSServer":"", "ipv6CurrentPreferredDNSServer":"","ipv6CurrentAlternateDNSServer":""}, "currentSettings":{"ipv4Address":[],"ipv4Gateway":"","ipv4Dns":[],"ipv4Domain":"", "ipv6Address":[],"ipv6LinkLocalAddress":"","ipv6Gateway":"","ipv6Dns":[], "ipv6Domain":""},"delay":0,"primaryInterface":true,"modifiedConfigs":{}}'}], 'Schedule': 'startnow', 'StartTime': None, 'State': 'Enabled', 'Targets': [], 'UpdatedBy': None, 'Visible': True}) Details of the job to update in case OME version is >= 3.3. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Unable to update the address configuration because a dependent field is missing for Use DHCP for DNS Domain Name, Enable DHCP for ipv4 or Enable Autoconfig for ipv6 settings for valid configuration .'), ('MessageArgs', ['Use DHCP for DNS Domain Name, Enable DHCP for ipv4 or Enable Autoconfig for ipv6 settings for valid configuration']), ('MessageId', 'CAPP1304'), ('RelatedProperties', []), ('Resolution', 'Make sure that all dependent fields contain valid content and retry the operation.'), ('Severity', 'Critical')])]), ('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.')]))])) +error_info (on HTTP error, dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to update the address configuration because a dependent field is missing for Use DHCP for DNS Domain Name, Enable DHCP for ipv4 or Enable Autoconfig for ipv6 settings for valid configuration .', 'MessageArgs': ['Use DHCP for DNS Domain Name, Enable DHCP for ipv4 or Enable Autoconfig for ipv6 settings for valid configuration'], 'MessageId': 'CAPP1304', 'RelatedProperties': [], 'Resolution': 'Make sure that all dependent fields contain valid content and retry the operation.', 'Severity': 'Critical'}], 'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}}) Details of the HTTP error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_proxy.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_proxy.rst index 2c5d1bd04..ed48d90f6 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_proxy.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_proxy.rst @@ -82,11 +82,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -104,7 +104,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module does not support ``check_mode``. @@ -158,11 +158,11 @@ msg (always, str, Successfully updated network proxy configuration.) Overall status of the network proxy configuration change. -proxy_configuration (success, dict, AnsibleMapping([('EnableAuthentication', True), ('EnableProxy', True), ('IpAddress', '192.168.0.2'), ('Password', None), ('PortNumber', 444), ('Username', 'root')])) +proxy_configuration (success, dict, {'EnableAuthentication': True, 'EnableProxy': True, 'IpAddress': '192.168.0.2', 'Password': None, 'PortNumber': 444, 'Username': 'root'}) Updated application network proxy configuration. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Unable to complete the request because the input value for PortNumber is missing or an invalid value is entered.'), ('MessageArgs', ['PortNumber']), ('MessageId', 'CGEN6002'), ('RelatedProperties', []), ('Resolution', 'Enter a valid value and retry the operation.'), ('Severity', 'Critical')])]), ('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.')]))])) +error_info (on HTTP error, dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to complete the request because the input value for PortNumber is missing or an invalid value is entered.', 'MessageArgs': ['PortNumber'], 'MessageId': 'CGEN6002', 'RelatedProperties': [], 'Resolution': 'Enter a valid value and retry the operation.', 'Severity': 'Critical'}], 'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}}) Details of the HTTP error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_settings.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_settings.rst index ab6302099..1cc02239c 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_settings.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_settings.rst @@ -109,11 +109,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -131,7 +131,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to Dell EMC OpenManage Enterprise or OpenManage Enterprise Modular. + - Run this module from a system that has direct access to Dell OpenManage Enterprise or OpenManage Enterprise Modular. - To configure other network settings such as network address, web server, and so on, refer to the respective OpenManage Enterprise application network setting modules. - This module supports ``check_mode``. @@ -213,11 +213,11 @@ msg (always, str, Successfully updated the session timeout settings.) Overall status of the Session timeout settings. -session_inactivity_setting (success, dict, [AnsibleMapping([('SessionType', 'API'), ('MaxSessions', 32), ('SessionTimeout', 99600), ('MinSessionTimeout', 60000), ('MaxSessionTimeout', 86400000), ('MinSessionsAllowed', 1), ('MaxSessionsAllowed', 100), ('MaxSessionsConfigurable', True), ('SessionTimeoutConfigurable', True)]), AnsibleMapping([('SessionType', 'GUI'), ('MaxSessions', 6), ('SessionTimeout', 99600), ('MinSessionTimeout', 60000), ('MaxSessionTimeout', 7200000), ('MinSessionsAllowed', 1), ('MaxSessionsAllowed', 6), ('MaxSessionsConfigurable', True), ('SessionTimeoutConfigurable', True)]), AnsibleMapping([('SessionType', 'SSH'), ('MaxSessions', 4), ('SessionTimeout', 99600), ('MinSessionTimeout', 60000), ('MaxSessionTimeout', 10800000), ('MinSessionsAllowed', 1), ('MaxSessionsAllowed', 4), ('MaxSessionsConfigurable', True), ('SessionTimeoutConfigurable', True)]), AnsibleMapping([('SessionType', 'Serial'), ('MaxSessions', 1), ('SessionTimeout', 99600), ('MinSessionTimeout', 60000), ('MaxSessionTimeout', 86400000), ('MinSessionsAllowed', 1), ('MaxSessionsAllowed', 1), ('MaxSessionsConfigurable', False), ('SessionTimeoutConfigurable', True)]), AnsibleMapping([('SessionType', 'UniversalTimeout'), ('MaxSessions', 0), ('SessionTimeout', -1), ('MinSessionTimeout', -1), ('MaxSessionTimeout', 86400000), ('MinSessionsAllowed', 0), ('MaxSessionsAllowed', 0), ('MaxSessionsConfigurable', False), ('SessionTimeoutConfigurable', True)])]) +session_inactivity_setting (success, dict, [{'SessionType': 'API', 'MaxSessions': 32, 'SessionTimeout': 99600, 'MinSessionTimeout': 60000, 'MaxSessionTimeout': 86400000, 'MinSessionsAllowed': 1, 'MaxSessionsAllowed': 100, 'MaxSessionsConfigurable': True, 'SessionTimeoutConfigurable': True}, {'SessionType': 'GUI', 'MaxSessions': 6, 'SessionTimeout': 99600, 'MinSessionTimeout': 60000, 'MaxSessionTimeout': 7200000, 'MinSessionsAllowed': 1, 'MaxSessionsAllowed': 6, 'MaxSessionsConfigurable': True, 'SessionTimeoutConfigurable': True}, {'SessionType': 'SSH', 'MaxSessions': 4, 'SessionTimeout': 99600, 'MinSessionTimeout': 60000, 'MaxSessionTimeout': 10800000, 'MinSessionsAllowed': 1, 'MaxSessionsAllowed': 4, 'MaxSessionsConfigurable': True, 'SessionTimeoutConfigurable': True}, {'SessionType': 'Serial', 'MaxSessions': 1, 'SessionTimeout': 99600, 'MinSessionTimeout': 60000, 'MaxSessionTimeout': 86400000, 'MinSessionsAllowed': 1, 'MaxSessionsAllowed': 1, 'MaxSessionsConfigurable': False, 'SessionTimeoutConfigurable': True}, {'SessionType': 'UniversalTimeout', 'MaxSessions': 0, 'SessionTimeout': -1, 'MinSessionTimeout': -1, 'MaxSessionTimeout': 86400000, 'MinSessionsAllowed': 0, 'MaxSessionsAllowed': 0, 'MaxSessionsConfigurable': False, 'SessionTimeoutConfigurable': True}]) Returned when session inactivity timeout settings are updated successfully. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'CUSR1233'), ('RelatedProperties', []), ('Message', 'The number of allowed concurrent sessions for API must be between 1 and 100 sessions.'), ('MessageArgs', ['API', '1', '100']), ('Severity', 'Critical'), ('Resolution', 'Enter values in the correct range and retry the operation.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'CUSR1233', 'RelatedProperties': [], 'Message': 'The number of allowed concurrent sessions for API must be between 1 and 100 sessions.', 'MessageArgs': ['API', '1', '100'], 'Severity': 'Critical', 'Resolution': 'Enter values in the correct range and retry the operation.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_time.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_time.rst index 6c884a154..e0f939646 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_time.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_time.rst @@ -82,11 +82,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -104,7 +104,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -148,11 +148,11 @@ msg (always, str, Successfully configured network time.) Overall status of the network time configuration change. -proxy_configuration (success, dict, AnsibleMapping([('EnableNTP', False), ('JobId', None), ('PrimaryNTPAddress', None), ('SecondaryNTPAddress1', None), ('SecondaryNTPAddress2', None), ('SystemTime', None), ('TimeSource', 'Local Clock'), ('TimeZone', 'TZ_ID_1'), ('TimeZoneIdLinux', None), ('TimeZoneIdWindows', None), ('UtcTime', None)])) +proxy_configuration (success, dict, {'EnableNTP': False, 'JobId': None, 'PrimaryNTPAddress': None, 'SecondaryNTPAddress1': None, 'SecondaryNTPAddress2': None, 'SystemTime': None, 'TimeSource': 'Local Clock', 'TimeZone': 'TZ_ID_1', 'TimeZoneIdLinux': None, 'TimeZoneIdWindows': None, 'UtcTime': None}) Updated application network time configuration. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Unable to complete the request because the input value for SystemTime is missing or an invalid value is entered.'), ('MessageArgs', ['SystemTime']), ('MessageId', 'CGEN6002'), ('RelatedProperties', []), ('Resolution', 'Enter a valid value and retry the operation.'), ('Severity', 'Critical')])]), ('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.')]))])) +error_info (on HTTP error, dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to complete the request because the input value for SystemTime is missing or an invalid value is entered.', 'MessageArgs': ['SystemTime'], 'MessageId': 'CGEN6002', 'RelatedProperties': [], 'Resolution': 'Enter a valid value and retry the operation.', 'Severity': 'Critical'}], 'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}}) Details of the HTTP error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_webserver.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_webserver.rst index 9add772b4..64adb1bf5 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_webserver.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_network_webserver.rst @@ -56,11 +56,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -78,7 +78,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -125,11 +125,11 @@ msg (always, str, Successfully updated network web server configuration.) Overall status of the network web server configuration change. -webserver_configuration (success, dict, AnsibleMapping([('TimeOut', 20), ('PortNumber', 443), ('EnableWebServer', True)])) +webserver_configuration (success, dict, {'TimeOut': 20, 'PortNumber': 443, 'EnableWebServer': True}) Updated application network web server configuration. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Unable to complete the request because the input value for PortNumber is missing or an invalid value is entered.'), ('MessageArgs', ['PortNumber']), ('MessageId', 'CGEN6002'), ('RelatedProperties', []), ('Resolution', 'Enter a valid value and retry the operation.'), ('Severity', 'Critical')])]), ('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.')]))])) +error_info (on HTTP error, dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to complete the request because the input value for PortNumber is missing or an invalid value is entered.', 'MessageArgs': ['PortNumber'], 'MessageId': 'CGEN6002', 'RelatedProperties': [], 'Resolution': 'Enter a valid value and retry the operation.', 'Severity': 'Critical'}], 'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}}) Details of the HTTP error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_security_settings.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_security_settings.rst index f99ca189f..f7ca82d94 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_application_security_settings.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_application_security_settings.rst @@ -78,7 +78,7 @@ Parameters job_wait_timeout (optional, int, 120) The maximum wait time of *job_wait* in seconds. The job is tracked only for this duration. - This option is applicable when *job_wait* is ``True``. + This option is applicable when *job_wait* is ``true``. fips_mode_enable (optional, bool, None) @@ -112,11 +112,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -134,7 +134,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise or OpenManage Enterprise Modular. + - Run this module from a system that has direct access to Dell OpenManage Enterprise or OpenManage Enterprise Modular. - This module supports ``check_mode``. @@ -193,7 +193,7 @@ Examples username: "username" password: "password" ca_path: "/path/to/ca_cert.pem" - fips_mode_enable: yes + fips_mode_enable: true @@ -208,7 +208,7 @@ job_id (When security configuration properties are provided, int, 10123) Job ID of the security configuration task. -error_info (on http error, dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Unable to process the request because the domain information cannot be retrieved.'), ('MessageArgs', []), ('MessageId', 'CGEN8007'), ('RelatedProperties', []), ('Resolution', 'Verify the status of the database and domain configuration, and then retry the operation.'), ('Severity', 'Critical')])]), ('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.')]))])) +error_info (on http error, dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to process the request because the domain information cannot be retrieved.', 'MessageArgs': [], 'MessageId': 'CGEN8007', 'RelatedProperties': [], 'Resolution': 'Verify the status of the database and domain configuration, and then retry the operation.', 'Severity': 'Critical'}], 'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}}) Details of http error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_chassis_slots.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_chassis_slots.rst index 60463fe06..bc05c9616 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_chassis_slots.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_chassis_slots.rst @@ -91,11 +91,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -114,7 +114,7 @@ Notes .. note:: - This module initiates the refresh inventory task. It may take a minute for new names to be reflected. If the task exceeds 300 seconds to refresh, the task times out. - - Run this module from a system that has direct access to Dell EMC OpenManage Enterprise Modular. + - Run this module from a system that has direct access to Dell OpenManage Enterprise Modular. - This module supports ``check_mode``. @@ -192,7 +192,7 @@ msg (always, str, Successfully renamed the slot(s).) Overall status of the slot rename operation. -slot_info (if at least one slot renamed, list, [AnsibleMapping([('ChassisId', 10053), ('ChassisServiceTag', 'ABCD123'), ('DeviceName', ''), ('DeviceType', 1000), ('JobId', 15746), ('SlotId', '10072'), ('SlotName', 'slot_op2'), ('SlotNumber', '6'), ('SlotType', 2000)]), AnsibleMapping([('ChassisId', 10053), ('ChassisName', 'MX-ABCD123'), ('ChassisServiceTag', 'ABCD123'), ('DeviceType', '3000'), ('JobId', 15747), ('SlotId', '10070'), ('SlotName', 'slot_op2'), ('SlotNumber', '4'), ('SlotType', '2000')]), AnsibleMapping([('ChassisId', '10053'), ('ChassisName', 'MX-PQRS123'), ('ChassisServiceTag', 'PQRS123'), ('DeviceId', '10054'), ('DeviceServiceTag', 'XYZ5678'), ('DeviceType', '1000'), ('JobId', 15761), ('SlotId', '10067'), ('SlotName', 'a1'), ('SlotNumber', '1'), ('SlotType', '2000')])]) +slot_info (if at least one slot renamed, list, [{'ChassisId': 10053, 'ChassisServiceTag': 'ABCD123', 'DeviceName': '', 'DeviceType': 1000, 'JobId': 15746, 'SlotId': '10072', 'SlotName': 'slot_op2', 'SlotNumber': '6', 'SlotType': 2000}, {'ChassisId': 10053, 'ChassisName': 'MX-ABCD123', 'ChassisServiceTag': 'ABCD123', 'DeviceType': '3000', 'JobId': 15747, 'SlotId': '10070', 'SlotName': 'slot_op2', 'SlotNumber': '4', 'SlotType': '2000'}, {'ChassisId': '10053', 'ChassisName': 'MX-PQRS123', 'ChassisServiceTag': 'PQRS123', 'DeviceId': '10054', 'DeviceServiceTag': 'XYZ5678', 'DeviceType': '1000', 'JobId': 15761, 'SlotId': '10067', 'SlotName': 'a1', 'SlotNumber': '1', 'SlotType': '2000'}]) Information of the slots that are renamed successfully. The ``DeviceServiceTag`` and ``DeviceId`` options are available only if *device_options* is used. @@ -200,7 +200,7 @@ slot_info (if at least one slot renamed, list, [AnsibleMapping([('ChassisId', 10 ``NOTE`` Only the slots which were renamed are listed. -rename_failed_slots (if at least one slot renaming fails, list, [AnsibleMapping([('ChassisId', '12345'), ('ChassisName', 'MX-ABCD123'), ('ChassisServiceTag', 'ABCD123'), ('DeviceType', '4000'), ('JobId', 1234), ('JobStatus', 'Aborted'), ('SlotId', '10061'), ('SlotName', 'c2'), ('SlotNumber', '1'), ('SlotType', '4000')]), AnsibleMapping([('ChassisId', '10053'), ('ChassisName', 'MX-PQRS123'), ('ChassisServiceTag', 'PQRS123'), ('DeviceType', '1000'), ('JobId', 0), ('JobStatus', 'HTTP Error 400: Bad Request'), ('SlotId', '10069'), ('SlotName', 'b2'), ('SlotNumber', '3'), ('SlotType', '2000')])]) +rename_failed_slots (if at least one slot renaming fails, list, [{'ChassisId': '12345', 'ChassisName': 'MX-ABCD123', 'ChassisServiceTag': 'ABCD123', 'DeviceType': '4000', 'JobId': 1234, 'JobStatus': 'Aborted', 'SlotId': '10061', 'SlotName': 'c2', 'SlotNumber': '1', 'SlotType': '4000'}, {'ChassisId': '10053', 'ChassisName': 'MX-PQRS123', 'ChassisServiceTag': 'PQRS123', 'DeviceType': '1000', 'JobId': 0, 'JobStatus': 'HTTP Error 400: Bad Request', 'SlotId': '10069', 'SlotName': 'b2', 'SlotNumber': '3', 'SlotType': '2000'}]) Information of the valid slots that are not renamed. ``JobStatus`` is shown if rename job fails. @@ -208,7 +208,7 @@ rename_failed_slots (if at least one slot renaming fails, list, [AnsibleMapping( ``NOTE`` Only slots which were not renamed are listed. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'CGEN1014'), ('RelatedProperties', []), ('Message', 'Unable to complete the operation because an invalid value is entered for the property Invalid json type: STRING for Edm.Int64 property: Id .'), ('MessageArgs', ['Invalid json type: STRING for Edm.Int64 property: Id']), ('Severity', 'Critical'), ('Resolution', "Enter a valid value for the property and retry the operation. For more information about valid values, see the OpenManage Enterprise-Modular User's Guide available on the support site.")])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'CGEN1014', 'RelatedProperties': [], 'Message': 'Unable to complete the operation because an invalid value is entered for the property Invalid json type: STRING for Edm.Int64 property: Id .', 'MessageArgs': ['Invalid json type: STRING for Edm.Int64 property: Id'], 'Severity': 'Critical', 'Resolution': "Enter a valid value for the property and retry the operation. For more information about valid values, see the OpenManage Enterprise-Modular User's Guide available on the support site."}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_configuration_compliance_baseline.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_configuration_compliance_baseline.rst index d4d2c53a7..4b1ba6c0f 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_configuration_compliance_baseline.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_configuration_compliance_baseline.rst @@ -102,7 +102,7 @@ Parameters job_wait_timeout (optional, int, 10800) The maximum wait time of *job_wait* in seconds.The job will only be tracked for this duration. - This option is applicable when *job_wait* is ``True``. + This option is applicable when *job_wait* is ``true``. hostname (True, str, None) @@ -122,11 +122,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -268,7 +268,7 @@ incompatible_devices (when I(device_service_tags) or I(device_ids) contains inco Details of the devices which cannot be used to perform baseline compliance operations -compliance_status (when I(command) is C(create) or C(modify), dict, AnsibleMapping([('Id', 13), ('Name', 'baseline1'), ('Description', None), ('TemplateId', 102), ('TemplateName', 'one'), ('TemplateType', 2), ('TaskId', 26584), ('PercentageComplete', '100'), ('TaskStatus', 2070), ('LastRun', '2021-02-27 13:15:13.751'), ('BaselineTargets', [AnsibleMapping([('Id', 1111), ('Type', AnsibleMapping([('Id', 1000), ('Name', 'DEVICE')]))])]), ('ConfigComplianceSummary', AnsibleMapping([('ComplianceStatus', 'OK'), ('NumberOfCritical', 0), ('NumberOfWarning', 0), ('NumberOfNormal', 0), ('NumberOfIncomplete', 0)]))])) +compliance_status (when I(command) is C(create) or C(modify), dict, {'Id': 13, 'Name': 'baseline1', 'Description': None, 'TemplateId': 102, 'TemplateName': 'one', 'TemplateType': 2, 'TaskId': 26584, 'PercentageComplete': '100', 'TaskStatus': 2070, 'LastRun': '2021-02-27 13:15:13.751', 'BaselineTargets': [{'Id': 1111, 'Type': {'Id': 1000, 'Name': 'DEVICE'}}], 'ConfigComplianceSummary': {'ComplianceStatus': 'OK', 'NumberOfCritical': 0, 'NumberOfWarning': 0, 'NumberOfNormal': 0, 'NumberOfIncomplete': 0}}) Status of compliance baseline operation. @@ -276,7 +276,7 @@ job_id (when I(command) is C(remediate), int, 14123) Task ID created when *command* is ``remediate``. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. @@ -294,4 +294,5 @@ Authors ~~~~~~~ - Sajna Shetty(@Sajna-Shetty) +- Abhishek Sinha(@Abhishek-Dell) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_configuration_compliance_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_configuration_compliance_info.rst index feeadd160..a04e3404d 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_configuration_compliance_info.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_configuration_compliance_info.rst @@ -60,11 +60,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -82,7 +82,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -130,11 +130,11 @@ msg (on error, str, Unable to complete the operation because the entered target Over all compliance report status. -compliance_info (success, dict, [AnsibleMapping([('ComplianceAttributeGroups', [AnsibleMapping([('Attributes', []), ('ComplianceReason', 'One or more attributes on the target device(s) does not match the compliance template.'), ('ComplianceStatus', 2), ('ComplianceSubAttributeGroups', [AnsibleMapping([('Attributes', [AnsibleMapping([('AttributeId', 75369), ('ComplianceReason', 'Attribute has different value from template'), ('ComplianceStatus', 3), ('CustomId', 0), ('Description', None), ('DisplayName', 'Workload Profile'), ('ExpectedValue', 'HpcProfile'), ('Value', 'NotAvailable')])]), ('ComplianceReason', 'One or more attributes on the target device(s) does not match the compliance template.'), ('ComplianceStatus', 2), ('ComplianceSubAttributeGroups', []), ('DisplayName', 'System Profile Settings'), ('GroupNameId', 1)])]), ('DisplayName', 'BIOS'), ('GroupNameId', 1)])]), ('ComplianceStatus', 'NONCOMPLIANT'), ('DeviceName', 'WIN-PLOV8MPIP40'), ('DeviceType', 1000), ('Id', 25011), ('InventoryTime', '2021-03-18 00:01:57.809771'), ('Model', 'PowerEdge R7525'), ('ServiceTag', 'JHMBX53')])]) +compliance_info (success, dict, [{'ComplianceAttributeGroups': [{'Attributes': [], 'ComplianceReason': 'One or more attributes on the target device(s) does not match the compliance template.', 'ComplianceStatus': 2, 'ComplianceSubAttributeGroups': [{'Attributes': [{'AttributeId': 75369, 'ComplianceReason': 'Attribute has different value from template', 'ComplianceStatus': 3, 'CustomId': 0, 'Description': None, 'DisplayName': 'Workload Profile', 'ExpectedValue': 'HpcProfile', 'Value': 'NotAvailable'}], 'ComplianceReason': 'One or more attributes on the target device(s) does not match the compliance template.', 'ComplianceStatus': 2, 'ComplianceSubAttributeGroups': [], 'DisplayName': 'System Profile Settings', 'GroupNameId': 1}], 'DisplayName': 'BIOS', 'GroupNameId': 1}], 'ComplianceStatus': 'NONCOMPLIANT', 'DeviceName': 'WIN-PLOV8MPIP40', 'DeviceType': 1000, 'Id': 25011, 'InventoryTime': '2021-03-18 00:01:57.809771', 'Model': 'PowerEdge R7525', 'ServiceTag': 'JHMBX53'}]) Returns the compliance report information. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. @@ -152,4 +152,5 @@ Authors ~~~~~~~ - Felix Stephen A (@felixs88) +- Kritika Bhateja (@Kritika-Bhateja) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_device_group.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_device_group.rst index e3a32f824..c111d5f2f 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_device_group.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_device_group.rst @@ -101,11 +101,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -288,7 +288,6 @@ Examples - Return Values ------------- @@ -304,7 +303,7 @@ ip_addresses_added (success, list, 21078) IP Addresses which are added to the device group. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_device_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_device_info.rst index 1896725d1..747bc2adc 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_device_info.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_device_info.rst @@ -73,11 +73,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -95,7 +95,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -178,7 +178,6 @@ Examples - Return Values ------------- @@ -186,7 +185,7 @@ msg (on error, str, Failed to fetch the device information) Over all device information status. -device_info (success, dict, AnsibleMapping([('value', [AnsibleMapping([('Actions', None), ('AssetTag', None), ('ChassisServiceTag', None), ('ConnectionState', True), ('DeviceManagement', [AnsibleMapping([('DnsName', 'dnsname.host.com'), ('InstrumentationName', 'MX-12345'), ('MacAddress', '11:10:11:10:11:10'), ('ManagementId', 12345), ('ManagementProfile', [AnsibleMapping([('HasCreds', 0), ('ManagementId', 12345), ('ManagementProfileId', 12345), ('ManagementURL', 'https://192.168.0.1:443'), ('Status', 1000), ('StatusDateTime', '2019-01-21 06:30:08.501')])]), ('ManagementType', 2), ('NetworkAddress', '192.168.0.1')])]), ('DeviceName', 'MX-0003I'), ('DeviceServiceTag', 'MXL1234'), ('DeviceSubscription', None), ('LastInventoryTime', '2019-01-21 06:30:08.501'), ('LastStatusTime', '2019-01-21 06:30:02.492'), ('ManagedState', 3000), ('Model', 'PowerEdge MX7000'), ('PowerState', 17), ('SlotConfiguration', AnsibleMapping()), ('Status', 4000), ('SystemId', 2031), ('Type', 2000)])])])) +device_info (success, dict, {'value': [{'Actions': None, 'AssetTag': None, 'ChassisServiceTag': None, 'ConnectionState': True, 'DeviceManagement': [{'DnsName': 'dnsname.host.com', 'InstrumentationName': 'MX-12345', 'MacAddress': '11:10:11:10:11:10', 'ManagementId': 12345, 'ManagementProfile': [{'HasCreds': 0, 'ManagementId': 12345, 'ManagementProfileId': 12345, 'ManagementURL': 'https://192.168.0.1:443', 'Status': 1000, 'StatusDateTime': '2019-01-21 06:30:08.501'}], 'ManagementType': 2, 'NetworkAddress': '192.168.0.1'}], 'DeviceName': 'MX-0003I', 'DeviceServiceTag': 'MXL1234', 'DeviceSubscription': None, 'LastInventoryTime': '2019-01-21 06:30:08.501', 'LastStatusTime': '2019-01-21 06:30:02.492', 'ManagedState': 3000, 'Model': 'PowerEdge MX7000', 'PowerState': 17, 'SlotConfiguration': {}, 'Status': 4000, 'SystemId': 2031, 'Type': 2000}]}) Returns the information collected from the Device. @@ -203,5 +202,6 @@ Status Authors ~~~~~~~ -- Sajna Shetty(@Sajna-Shetty) +- Sajna Shetty (@Sajna-Shetty) +- Felix Stephen (@felixs88) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_device_local_access_configuration.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_device_local_access_configuration.rst index 0e9e2b7bf..a5846243e 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_device_local_access_configuration.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_device_local_access_configuration.rst @@ -58,21 +58,23 @@ Parameters enable_chassis_power_button (True, bool, None) Enables or disables the chassis power button. - If ``False``, the chassis cannot be turn on or turn off using the power button. + If ``false``, the chassis cannot be turn on or turn off using the power button. enable_lcd_override_pin (optional, bool, None) Enables or disables the LCD override pin. - This is required when *enable_chassis_power_button* is ``False``. + This is required when *enable_chassis_power_button* is ``false``. - disabled_button_lcd_override_pin (optional, int, None) + disabled_button_lcd_override_pin (optional, str, None) The six digit LCD override pin to change the power state of the chassis. - This is required when *enable_lcd_override_pin* is ``True``. + This is required when *enable_lcd_override_pin* is ``true``. - The module will always report change when *disabled_button_lcd_override_pin* is ``True``. + The module will always report change when *disabled_button_lcd_override_pin* is ``true``. + + The value must be specified in quotes. ex: "001100". @@ -101,7 +103,7 @@ Parameters The range is 120 to 3600 in seconds, or 2 to 60 in minutes. - This option is required when *enable_inactivity_timeout* is ``True``. + This option is required when *enable_inactivity_timeout* is ``true``. timeout_limit_unit (optional, str, None) @@ -111,7 +113,7 @@ Parameters ``MINUTES`` to set *timeout_limit* in minutes. - This option is required when *enable_inactivity_timeout* is ``True``. + This option is required when *enable_inactivity_timeout* is ``true``. enable_read_authentication (optional, bool, None) @@ -177,11 +179,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -201,7 +203,7 @@ Notes .. note:: - Run this module from a system that has direct access to OpenManage Enterprise Modular. - This module supports ``check_mode``. - - The module will always report change when *enable_chassis_power_button* is ``True``. + - The module will always report change when *enable_chassis_power_button* is ``true``. @@ -225,7 +227,7 @@ Examples chassis_power_button: enable_chassis_power_button: false enable_lcd_override_pin: true - disabled_button_lcd_override_pin: 123456 + disabled_button_lcd_override_pin: "123456" - name: Configure Quick sync and LCD settings of the chassis using device service tag. dellemc.openmanage.ome_device_local_access_configuration: @@ -257,7 +259,7 @@ Examples chassis_power_button: enable_chassis_power_button: false enable_lcd_override_pin: true - disabled_button_lcd_override_pin: 123456 + disabled_button_lcd_override_pin: "123456" quick_sync: quick_sync_access: READ_WRITE enable_read_authentication: true @@ -279,11 +281,11 @@ msg (always, str, Successfully updated the local access settings.) Overall status of the device local access settings. -location_details (success, dict, AnsibleMapping([('SettingType', 'LocalAccessConfiguration'), ('EnableChassisDirect', False), ('EnableChassisPowerButton', False), ('EnableKvmAccess', True), ('EnableLcdOverridePin', False), ('LcdAccess', 'VIEW_ONLY'), ('LcdCustomString', 'LCD Text'), ('LcdLanguage', 'en'), ('LcdOverridePin', ''), ('LcdPinLength', None), ('LcdPresence', 'Present'), ('LedPresence', None), ('QuickSync', AnsibleMapping([('EnableInactivityTimeout', True), ('EnableQuickSyncWifi', False), ('EnableReadAuthentication', False), ('QuickSyncAccess', 'READ_ONLY'), ('QuickSyncHardware', 'Present'), ('TimeoutLimit', 7), ('TimeoutLimitUnit', 'MINUTES')]))])) +location_details (success, dict, {'SettingType': 'LocalAccessConfiguration', 'EnableChassisDirect': False, 'EnableChassisPowerButton': False, 'EnableKvmAccess': True, 'EnableLcdOverridePin': False, 'LcdAccess': 'VIEW_ONLY', 'LcdCustomString': 'LCD Text', 'LcdLanguage': 'en', 'LcdOverridePin': '', 'LcdPinLength': None, 'LcdPresence': 'Present', 'LedPresence': None, 'QuickSync': {'EnableInactivityTimeout': True, 'EnableQuickSyncWifi': False, 'EnableReadAuthentication': False, 'QuickSyncAccess': 'READ_ONLY', 'QuickSyncHardware': 'Present', 'TimeoutLimit': 7, 'TimeoutLimitUnit': 'MINUTES'}}) returned when local access settings are updated successfully. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. @@ -301,4 +303,5 @@ Authors ~~~~~~~ - Felix Stephen (@felixs88) +- Shivam Sharma (@ShivamSh3) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_device_location.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_device_location.rst index 3d61a4f4e..de96c2c7e 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_device_location.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_device_location.rst @@ -84,11 +84,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -106,7 +106,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to Dell EMC OpenManage Enterprise Modular. + - Run this module from a system that has direct access to Dell OpenManage Enterprise Modular. - This module supports ``check_mode``. @@ -169,11 +169,11 @@ msg (always, str, Successfully updated the location settings.) Overall status of the device location settings. -location_details (success, dict, AnsibleMapping([('Aisle', 'aisle 1'), ('DataCenter', 'data center 1'), ('Location', 'location 1'), ('RackName', 'rack 1'), ('RackSlot', 2), ('Room', 'room 1'), ('SettingType', 'Location')])) +location_details (success, dict, {'Aisle': 'aisle 1', 'DataCenter': 'data center 1', 'Location': 'location 1', 'RackName': 'rack 1', 'RackSlot': 2, 'Room': 'room 1', 'SettingType': 'Location'}) returned when location settings are updated successfully. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_device_mgmt_network.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_device_mgmt_network.rst index a60b09262..3939b6e38 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_device_mgmt_network.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_device_mgmt_network.rst @@ -64,7 +64,7 @@ Parameters enable_dhcp (optional, bool, None) Enable or disable the automatic request to obtain an IPv4 address from the IPv4 Dynamic Host Configuration Protocol (DHCP) server. - ``NOTE`` If this option is ``True``, the values provided for *static_ip_address*, *static_subnet_mask*, and *static_gateway* are not applied for these fields. However, the module may report changes. + ``NOTE`` If this option is ``true``, the values provided for *static_ip_address*, *static_subnet_mask*, and *static_gateway* are not applied for these fields. However, the module may report changes. static_ip_address (optional, str, None) @@ -90,7 +90,7 @@ Parameters This option is applicable when *enable_dhcp* is true. - ``NOTE`` If this option is ``True``, the values provided for *static_preferred_dns_server* and *static_alternate_dns_server* are not applied for these fields. However, the module may report changes. + ``NOTE`` If this option is ``true``, the values provided for *static_preferred_dns_server* and *static_alternate_dns_server* are not applied for these fields. However, the module may report changes. static_preferred_dns_server (optional, str, None) @@ -121,7 +121,7 @@ Parameters If *enable_auto_configuration* is ``true``, OpenManage Enterprise Modular retrieves IP configuration (IPv6 address, prefix, and gateway address) from a DHCPv6 server on the existing network. - ``NOTE`` If this option is ``True``, the values provided for *static_ip_address*, *static_prefix_length*, and *static_gateway* are not applied for these fields. However, the module may report changes. + ``NOTE`` If this option is ``true``, the values provided for *static_ip_address*, *static_prefix_length*, and *static_gateway* are not applied for these fields. However, the module may report changes. static_ip_address (optional, str, None) @@ -147,7 +147,7 @@ Parameters This option is applicable when *enable_auto_configuration* is true - ``NOTE`` If this option is ``True``, the values provided for *static_preferred_dns_server* and *static_alternate_dns_server* are not applied for these fields. However, the module may report changes. + ``NOTE`` If this option is ``true``, the values provided for *static_preferred_dns_server* and *static_alternate_dns_server* are not applied for these fields. However, the module may report changes. static_preferred_dns_server (optional, str, None) @@ -269,11 +269,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -291,7 +291,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to Dell EMC OpenManage Enterprise Modular. + - Run this module from a system that has direct access to Dell OpenManage Enterprise Modular. - This module supports ``check_mode``. @@ -334,7 +334,7 @@ Examples use_dhcp_for_dns_domain_name: false dns_name: "MX-SVCTAG" dns_domain_name: "dnslocaldomain" - auto_negotiation: no + auto_negotiation: false network_speed: 100_MB - name: Network settings for server @@ -392,7 +392,7 @@ Examples username: "username" password: "password" ca_path: "/path/to/ca_cert.pem" - device_id : 12345 + device_id: 12345 management_vlan: enable_vlan: true vlan_id: 2345 @@ -408,7 +408,7 @@ msg (always, str, Successfully applied the network settings.) Overall status of the network config operation. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'CGEN1004'), ('RelatedProperties', []), ('Message', 'Unable to complete the request because IPV4 Settings Capability is not Supported does not exist or is not applicable for the resource URI.'), ('MessageArgs', ['IPV4 Settings Capability is not Supported']), ('Severity', 'Critical'), ('Resolution', "Check the request resource URI. Refer to the OpenManage Enterprise-Modular User's Guide for more information about resource URI and its properties.")])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'CGEN1004', 'RelatedProperties': [], 'Message': 'Unable to complete the request because IPV4 Settings Capability is not Supported does not exist or is not applicable for the resource URI.', 'MessageArgs': ['IPV4 Settings Capability is not Supported'], 'Severity': 'Critical', 'Resolution': "Check the request resource URI. Refer to the OpenManage Enterprise-Modular User's Guide for more information about resource URI and its properties."}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_device_network_services.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_device_network_services.rst index 9d57373c2..f4f84f340 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_device_network_services.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_device_network_services.rst @@ -113,11 +113,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -135,7 +135,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to Dell EMC OpenManage Enterprise Modular. + - Run this module from a system that has direct access to Dell OpenManage Enterprise Modular. - This module supports ``check_mode``. @@ -204,11 +204,11 @@ msg (always, str, Successfully updated the network services settings.) Overall status of the network services settings. -network_services_details (success, dict, AnsibleMapping([('EnableRemoteRacadm', True), ('SettingType', 'NetworkServices'), ('SnmpConfiguration', AnsibleMapping([('PortNumber', 161), ('SnmpEnabled', True), ('SnmpV1V2Credential', AnsibleMapping([('CommunityName', 'public')]))])), ('SshConfiguration', AnsibleMapping([('IdleTimeout', 60), ('MaxAuthRetries', 3), ('MaxSessions', 1), ('PortNumber', 22), ('SshEnabled', False)]))])) +network_services_details (success, dict, {'EnableRemoteRacadm': True, 'SettingType': 'NetworkServices', 'SnmpConfiguration': {'PortNumber': 161, 'SnmpEnabled': True, 'SnmpV1V2Credential': {'CommunityName': 'public'}}, 'SshConfiguration': {'IdleTimeout': 60, 'MaxAuthRetries': 3, 'MaxSessions': 1, 'PortNumber': 22, 'SshEnabled': False}}) returned when network services settings are updated successfully. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'CAPP1042'), ('RelatedProperties', []), ('Message', 'Unable to update the network configuration because the SNMP PortNumber is already in use.'), ('MessageArgs', ['SNMP PortNumber']), ('Severity', 'Informational'), ('Resolution', 'Enter a different port number and retry the operation.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'CAPP1042', 'RelatedProperties': [], 'Message': 'Unable to update the network configuration because the SNMP PortNumber is already in use.', 'MessageArgs': ['SNMP PortNumber'], 'Severity': 'Informational', 'Resolution': 'Enter a different port number and retry the operation.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_device_power_settings.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_device_power_settings.rst index 46f75bb27..11ff3c2c4 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_device_power_settings.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_device_power_settings.rst @@ -107,11 +107,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -129,7 +129,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to Dell EMC OpenManage Enterprise Modular. + - Run this module from a system that has direct access to Dell OpenManage Enterprise Modular. - This module supports ``check_mode``. @@ -183,11 +183,11 @@ msg (always, str, Successfully updated the power settings.) Overall status of the device power settings. -power_details (success, dict, AnsibleMapping([('EnableHotSpare', True), ('EnablePowerCapSettings', True), ('MaxPowerCap', '3424'), ('MinPowerCap', '3291'), ('PowerCap', '3425'), ('PrimaryGrid', 'GRID_1'), ('RedundancyPolicy', 'NO_REDUNDANCY'), ('SettingType', 'Power')])) +power_details (success, dict, {'EnableHotSpare': True, 'EnablePowerCapSettings': True, 'MaxPowerCap': '3424', 'MinPowerCap': '3291', 'PowerCap': '3425', 'PrimaryGrid': 'GRID_1', 'RedundancyPolicy': 'NO_REDUNDANCY', 'SettingType': 'Power'}) returned when power settings are updated successfully. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_device_quick_deploy.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_device_quick_deploy.rst index 0f32a4138..185331335 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_device_quick_deploy.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_device_quick_deploy.rst @@ -20,7 +20,7 @@ Requirements ------------ The below requirements are needed on the host that executes this module. -- python >= 3.8.6 +- python >= 3.9.6 @@ -58,7 +58,7 @@ Parameters job_wait_timeout (optional, int, 120) The maximum wait time of *job_wait* in seconds. The job is tracked only for this duration. - This option is applicable when *job_wait* is ``True``. + This option is applicable when *job_wait* is ``true``. quick_deploy_options (True, dict, None) @@ -78,7 +78,7 @@ Parameters ipv4_network_type (optional, str, None) IPv4 network type. - *ipv4_network_type* is required if *ipv4_enabled* is ``True``. + *ipv4_network_type* is required if *ipv4_enabled* is ``true``. ``Static`` to configure the static IP settings. @@ -104,7 +104,7 @@ Parameters ipv6_network_type (optional, str, None) IPv6 network type. - *ipv6_network_type* is required if *ipv6_enabled* is ``True``. + *ipv6_network_type* is required if *ipv6_enabled* is ``true``. ``Static`` to configure the static IP settings. @@ -162,11 +162,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -209,11 +209,11 @@ Examples ca_path: "/path/to/ca_cert.pem" quick_deploy_options: password: "password" - ipv4_enabled: True + ipv4_enabled: true ipv4_network_type: Static ipv4_subnet_mask: 255.255.255.0 ipv4_gateway: 192.168.0.1 - ipv6_enabled: True + ipv6_enabled: true ipv6_network_type: Static ipv6_prefix_length: 1 ipv6_gateway: "::" @@ -237,11 +237,11 @@ Examples ca_path: "/path/to/ca_cert.pem" quick_deploy_options: password: "password" - ipv4_enabled: True + ipv4_enabled: true ipv4_network_type: Static ipv4_subnet_mask: 255.255.255.0 ipv4_gateway: 192.168.0.1 - ipv6_enabled: True + ipv6_enabled: true ipv6_network_type: Static ipv6_prefix_length: 1 ipv6_gateway: "::" @@ -268,11 +268,11 @@ job_id (when quick deploy job is submitted., int, 1234) The job ID of the submitted quick deploy job. -quick_deploy_settings (success, dict, AnsibleMapping([('DeviceId', 25011), ('SettingType', 'ServerQuickDeploy'), ('ProtocolTypeV4', True), ('NetworkTypeV4', 'Static'), ('IpV4Gateway', '192.168.0.1'), ('IpV4SubnetMask', '255.255.255.0'), ('ProtocolTypeV6', True), ('NetworkTypeV6', 'Static'), ('PrefixLength', '2'), ('IpV6Gateway', '::'), ('slots', [AnsibleMapping([('DeviceId', 25011), ('DeviceCapabilities', [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 41, 8, 7, 4, 3, 2, 1, 31, 30]), ('DeviceIPV4Address', '192.168.0.2'), ('DeviceIPV6Address', '::'), ('Dhcpipv4', 'Disabled'), ('Dhcpipv6', 'Disabled'), ('Ipv4Enabled', 'Enabled'), ('Ipv6Enabled', 'Enabled'), ('Model', 'PowerEdge MX840c'), ('SlotIPV4Address', '192.168.0.2'), ('SlotIPV6Address', '::'), ('SlotId', 1), ('SlotSelected', True), ('SlotSettingsApplied', True), ('SlotType', '2000'), ('Type', '1000'), ('VlanId', '1')]), AnsibleMapping([('DeviceId', 0), ('Model', ''), ('SlotIPV4Address', '0.0.0.0'), ('SlotIPV6Address', '::'), ('SlotId', 2), ('SlotSelected', False), ('SlotSettingsApplied', False), ('SlotType', '2000'), ('Type', '0')]), AnsibleMapping([('DeviceId', 0), ('Model', ''), ('SlotIPV4Address', '0.0.0.0'), ('SlotIPV6Address', '::'), ('SlotId', 3), ('SlotSelected', False), ('SlotSettingsApplied', False), ('SlotType', '2000'), ('Type', '0')]), AnsibleMapping([('DeviceId', 0), ('Model', ''), ('SlotIPV4Address', '0.0.0.0'), ('SlotIPV6Address', '::'), ('SlotId', 4), ('SlotSelected', False), ('SlotSettingsApplied', False), ('SlotType', '2000'), ('Type', '0')]), AnsibleMapping([('DeviceId', 0), ('Model', ''), ('SlotIPV4Address', '0.0.0.0'), ('SlotIPV6Address', '::'), ('SlotId', 5), ('SlotSelected', False), ('SlotSettingsApplied', False), ('SlotType', '2000'), ('Type', '0')]), AnsibleMapping([('DeviceId', 0), ('Model', ''), ('SlotIPV4Address', '0.0.0.0'), ('SlotIPV6Address', '::'), ('SlotId', 6), ('SlotSelected', False), ('SlotSettingsApplied', False), ('SlotType', '2000'), ('Type', '0')]), AnsibleMapping([('DeviceId', 0), ('Model', ''), ('SlotIPV4Address', '0.0.0.0'), ('SlotIPV6Address', '::'), ('SlotId', 7), ('SlotSelected', False), ('SlotSettingsApplied', False), ('SlotType', '2000'), ('Type', '0')]), AnsibleMapping([('DeviceId', 0), ('Model', ''), ('SlotIPV4Address', '0.0.0.0'), ('SlotIPV6Address', '::'), ('SlotId', 8), ('SlotSelected', False), ('SlotSettingsApplied', False), ('SlotType', '2000'), ('Type', '0')])])])) +quick_deploy_settings (success, dict, {'DeviceId': 25011, 'SettingType': 'ServerQuickDeploy', 'ProtocolTypeV4': True, 'NetworkTypeV4': 'Static', 'IpV4Gateway': '192.168.0.1', 'IpV4SubnetMask': '255.255.255.0', 'ProtocolTypeV6': True, 'NetworkTypeV6': 'Static', 'PrefixLength': '2', 'IpV6Gateway': '::', 'slots': [{'DeviceId': 25011, 'DeviceCapabilities': [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 41, 8, 7, 4, 3, 2, 1, 31, 30], 'DeviceIPV4Address': '192.168.0.2', 'DeviceIPV6Address': '::', 'Dhcpipv4': 'Disabled', 'Dhcpipv6': 'Disabled', 'Ipv4Enabled': 'Enabled', 'Ipv6Enabled': 'Enabled', 'Model': 'PowerEdge MX840c', 'SlotIPV4Address': '192.168.0.2', 'SlotIPV6Address': '::', 'SlotId': 1, 'SlotSelected': True, 'SlotSettingsApplied': True, 'SlotType': '2000', 'Type': '1000', 'VlanId': '1'}, {'DeviceId': 0, 'Model': '', 'SlotIPV4Address': '0.0.0.0', 'SlotIPV6Address': '::', 'SlotId': 2, 'SlotSelected': False, 'SlotSettingsApplied': False, 'SlotType': '2000', 'Type': '0'}, {'DeviceId': 0, 'Model': '', 'SlotIPV4Address': '0.0.0.0', 'SlotIPV6Address': '::', 'SlotId': 3, 'SlotSelected': False, 'SlotSettingsApplied': False, 'SlotType': '2000', 'Type': '0'}, {'DeviceId': 0, 'Model': '', 'SlotIPV4Address': '0.0.0.0', 'SlotIPV6Address': '::', 'SlotId': 4, 'SlotSelected': False, 'SlotSettingsApplied': False, 'SlotType': '2000', 'Type': '0'}, {'DeviceId': 0, 'Model': '', 'SlotIPV4Address': '0.0.0.0', 'SlotIPV6Address': '::', 'SlotId': 5, 'SlotSelected': False, 'SlotSettingsApplied': False, 'SlotType': '2000', 'Type': '0'}, {'DeviceId': 0, 'Model': '', 'SlotIPV4Address': '0.0.0.0', 'SlotIPV6Address': '::', 'SlotId': 6, 'SlotSelected': False, 'SlotSettingsApplied': False, 'SlotType': '2000', 'Type': '0'}, {'DeviceId': 0, 'Model': '', 'SlotIPV4Address': '0.0.0.0', 'SlotIPV6Address': '::', 'SlotId': 7, 'SlotSelected': False, 'SlotSettingsApplied': False, 'SlotType': '2000', 'Type': '0'}, {'DeviceId': 0, 'Model': '', 'SlotIPV4Address': '0.0.0.0', 'SlotIPV6Address': '::', 'SlotId': 8, 'SlotSelected': False, 'SlotSettingsApplied': False, 'SlotType': '2000', 'Type': '0'}]}) returned when quick deploy settings are deployed successfully. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. @@ -290,4 +290,5 @@ Authors ~~~~~~~ - Felix Stephen (@felixs88) +- Shivam Sharma (@ShivamSh3) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_devices.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_devices.rst index 66f4f27f3..756adde24 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_devices.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_devices.rst @@ -42,7 +42,7 @@ Parameters state (optional, str, present) ``present`` Allows to perform the *device_action* on the target devices. - ``absent`` Removes the device from OpenManage Enterprise. No job is triggered. *job_wait*, *job_schedule*, *job_name*, and *job_description* are not applicable to this operation. + ``absent`` Removes the device from OpenManage Enterprise. Job is not triggered. *job_wait*, *job_schedule*, *job_name*, and *job_description* are not applicable to this operation. device_action (optional, str, refresh_inventory) @@ -66,7 +66,7 @@ Parameters job_wait_timeout (optional, int, 1200) The maximum wait time of *job_wait* in seconds. The job is tracked only for this duration. - This option is applicable when *job_wait* is ``True``. + This option is applicable when *job_wait* is ``true``. job_schedule (optional, str, startnow) @@ -98,11 +98,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_diagnostics.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_diagnostics.rst index 7a7d231f8..3469c4f4a 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_diagnostics.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_diagnostics.rst @@ -156,11 +156,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -258,11 +258,11 @@ msg (always, str, Export log job completed successfully.) Overall status of the export log. -jog_status (success, dict, AnsibleMapping([('Builtin', False), ('CreatedBy', 'root'), ('Editable', True), ('EndTime', 'None'), ('Id', 12778), ('JobDescription', 'Export device log'), ('JobName', 'Export Log'), ('JobStatus', AnsibleMapping([('Id', 2080), ('Name', 'New')])), ('JobType', AnsibleMapping([('Id', 18), ('Internal', False), ('Name', 'DebugLogs_Task')])), ('LastRun', '2021-07-06 10:52:50.519'), ('LastRunStatus', AnsibleMapping([('Id', 2060), ('Name', 'Completed')])), ('NextRun', 'None'), ('Schedule', 'startnow'), ('StartTime', 'None'), ('State', 'Enabled'), ('UpdatedBy', 'None'), ('UserGenerated', True), ('Visible', True), ('Params', [AnsibleMapping([('JobId', 12778), ('Key', 'maskSensitiveInfo'), ('Value', 'FALSE')]), AnsibleMapping([('JobId', 12778), ('Key', 'password'), ('Value', 'tY86w7q92u0QzvykuF0gQQ')]), AnsibleMapping([('JobId', 12778), ('Key', 'userName'), ('Value', 'administrator')]), AnsibleMapping([('JobId', 12778), ('Key', 'shareName'), ('Value', 'iso')]), AnsibleMapping([('JobId', 12778), ('Key', 'OPERATION_NAME'), ('Value', 'EXTRACT_LOGS')]), AnsibleMapping([('JobId', 12778), ('Key', 'shareType'), ('Value', 'CIFS')]), AnsibleMapping([('JobId', 12778), ('Key', 'shareAddress'), ('Value', '100.96.32.142')])]), ('Targets', [AnsibleMapping([('Data', ''), ('Id', 10053), ('JobId', 12778), ('TargetType', AnsibleMapping([('Id', 1000), ('Name', 'DEVICE')]))])])])) +jog_status (success, dict, {'Builtin': False, 'CreatedBy': 'root', 'Editable': True, 'EndTime': 'None', 'Id': 12778, 'JobDescription': 'Export device log', 'JobName': 'Export Log', 'JobStatus': {'Id': 2080, 'Name': 'New'}, 'JobType': {'Id': 18, 'Internal': False, 'Name': 'DebugLogs_Task'}, 'LastRun': '2021-07-06 10:52:50.519', 'LastRunStatus': {'Id': 2060, 'Name': 'Completed'}, 'NextRun': 'None', 'Schedule': 'startnow', 'StartTime': 'None', 'State': 'Enabled', 'UpdatedBy': 'None', 'UserGenerated': True, 'Visible': True, 'Params': [{'JobId': 12778, 'Key': 'maskSensitiveInfo', 'Value': 'FALSE'}, {'JobId': 12778, 'Key': 'password', 'Value': 'tY86w7q92u0QzvykuF0gQQ'}, {'JobId': 12778, 'Key': 'userName', 'Value': 'administrator'}, {'JobId': 12778, 'Key': 'shareName', 'Value': 'iso'}, {'JobId': 12778, 'Key': 'OPERATION_NAME', 'Value': 'EXTRACT_LOGS'}, {'JobId': 12778, 'Key': 'shareType', 'Value': 'CIFS'}, {'JobId': 12778, 'Key': 'shareAddress', 'Value': '100.96.32.142'}], 'Targets': [{'Data': '', 'Id': 10053, 'JobId': 12778, 'TargetType': {'Id': 1000, 'Name': 'DEVICE'}}]}) Details of the export log operation status. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_discovery.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_discovery.rst index 79f68dd8f..e290629b1 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_discovery.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_discovery.rst @@ -88,17 +88,17 @@ Parameters job_wait_timeout (optional, int, 10800) The maximum wait time of *job_wait* in seconds. The job is tracked only for this duration. - This option is applicable when *job_wait* is ``True``. + This option is applicable when *job_wait* is ``true``. ignore_partial_failure (optional, bool, False) Provides the option to ignore partial failures. Partial failures occur when there is a combination of both discovered and undiscovered IPs. - If ``False``, then the partial failure is not ignored, and the module will error out. + If ``false``, then the partial failure is not ignored, and the module will error out. - If ``True``, then the partial failure is ignored. + If ``true``, then the partial failure is ignored. - This option is only applicable if *job_wait* is ``True``. + This option is only applicable if *job_wait* is ``true``. discovery_config_targets (optional, list, None) @@ -424,11 +424,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -446,7 +446,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to Dell EMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module does not support ``check_mode``. - If *state* is ``present``, then Idempotency is not supported. @@ -578,9 +578,9 @@ Examples password: ipmi_pwd schedule: RunLater cron: "0 0 9 ? * MON,WED,FRI *" - ignore_partial_failure: True - trap_destination: True - community_string: True + ignore_partial_failure: true + trap_destination: true + community_string: true email_recipient: test_email@company.com - name: Discover servers with ca check enabled @@ -598,7 +598,7 @@ Examples wsman: username: user password: password - ca_check: True + ca_check: true certificate_data: "{{ lookup('ansible.builtin.file', '/path/to/certificate_data_file') }}" - name: Discover chassis with ca check enabled data @@ -616,7 +616,7 @@ Examples redfish: username: user password: password - ca_check: True + ca_check: true certificate_data: "-----BEGIN CERTIFICATE-----\r\n ABCDEFGHIJKLMNOPQRSTUVWXYZaqwertyuiopasdfghjklzxcvbnmasdasagasvv\r\n ABCDEFGHIJKLMNOPQRSTUVWXYZaqwertyuiopasdfghjklzxcvbnmasdasagasvv\r\n @@ -633,7 +633,7 @@ msg (always, str, Successfully deleted 1 discovery job(s).) Overall status of the discovery operation. -discovery_status (when I(state) is C(present), dict, AnsibleMapping([('Completed', ['192.168.24.17', '192.168.24.20', '192.168.24.22']), ('Failed', ['192.168.24.15', '192.168.24.16', '192.168.24.18', '192.168.24.19', '192.168.24.21', 'host123']), ('DiscoveredDevicesByType', [AnsibleMapping([('Count', 3), ('DeviceType', 'SERVER')])]), ('DiscoveryConfigDiscoveredDeviceCount', 3), ('DiscoveryConfigEmailRecipient', 'myemail@dell.com'), ('DiscoveryConfigExpectedDeviceCount', 9), ('DiscoveryConfigGroupId', 125), ('JobDescription', 'D1'), ('JobEnabled', True), ('JobEndTime', '2021-01-01 06:27:29.99'), ('JobId', 12666), ('JobName', 'D1'), ('JobNextRun', None), ('JobProgress', '100'), ('JobSchedule', 'startnow'), ('JobStartTime', '2021-01-01 06:24:10.071'), ('JobStatusId', 2090), ('LastUpdateTime', '2021-01-01 06:27:30.001'), ('UpdatedBy', 'admin')])) +discovery_status (when I(state) is C(present), dict, {'Completed': ['192.168.24.17', '192.168.24.20', '192.168.24.22'], 'Failed': ['192.168.24.15', '192.168.24.16', '192.168.24.18', '192.168.24.19', '192.168.24.21', 'host123'], 'DiscoveredDevicesByType': [{'Count': 3, 'DeviceType': 'SERVER'}], 'DiscoveryConfigDiscoveredDeviceCount': 3, 'DiscoveryConfigEmailRecipient': 'myemail@dell.com', 'DiscoveryConfigExpectedDeviceCount': 9, 'DiscoveryConfigGroupId': 125, 'JobDescription': 'D1', 'JobEnabled': True, 'JobEndTime': '2021-01-01 06:27:29.99', 'JobId': 12666, 'JobName': 'D1', 'JobNextRun': None, 'JobProgress': '100', 'JobSchedule': 'startnow', 'JobStartTime': '2021-01-01 06:24:10.071', 'JobStatusId': 2090, 'LastUpdateTime': '2021-01-01 06:27:30.001', 'UpdatedBy': 'admin'}) Details of the discovery job created or modified. If *job_wait* is true, Completed and Failed IPs are also listed. @@ -643,7 +643,11 @@ discovery_ids (when discoveries with duplicate name exist for I(state) is C(pres IDs of the discoveries with duplicate names. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +job_detailed_status (All time., list, [{'ElapsedTime': '00:00:00', 'EndTime': None, 'ExecutionHistoryId': 564873, 'Id': 656893, 'IdBaseEntity': 0, 'JobStatus': {'Id': 2050, 'Name': 'Running'}, 'Key': '192.96.24.1', 'Progress': '0', 'StartTime': '2023-07-04 06:23:54.008', 'Value': 'Running\nDiscovery of target 192.96.24.1 started.\nDiscovery target resolved to IP 192.96.24.1 .'}]) + Detailed last execution history of a job. + + +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. @@ -662,4 +666,5 @@ Authors - Jagadeesh N V (@jagadeeshnv) - Sajna Shetty (@Sajna-Shetty) +- Abhishek Sinha (@Abhishek-Dell) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_domain_user_groups.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_domain_user_groups.rst index 29a8b20c6..a9d971a78 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_domain_user_groups.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_domain_user_groups.rst @@ -1,8 +1,8 @@ .. _ome_domain_user_groups_module: -ome_domain_user_groups -- Create, modify, or delete an Active Directory user group on OpenManage Enterprise and OpenManage Enterprise Modular -============================================================================================================================================= +ome_domain_user_groups -- Create, modify, or delete an Active Directory/LDAP user group on OpenManage Enterprise and OpenManage Enterprise Modular +================================================================================================================================================== .. contents:: :local: @@ -12,7 +12,7 @@ ome_domain_user_groups -- Create, modify, or delete an Active Directory user gro Synopsis -------- -This module allows to create, modify, or delete an Active Directory user group on OpenManage Enterprise and OpenManage Enterprise Modular. +This module allows to create, modify, or delete an Active Directory/LDAP user group on OpenManage Enterprise and OpenManage Enterprise Modular. @@ -20,7 +20,7 @@ Requirements ------------ The below requirements are needed on the host that executes this module. -- python >= 3.8.6 +- python >= 3.9.6 @@ -28,13 +28,13 @@ Parameters ---------- state (optional, str, present) - ``present`` imports or modifies the Active Directory user group. + ``present`` imports or modifies the Active Directory/LDAP user group. - ``absent`` deletes an existing Active Directory user group. + ``absent`` deletes an existing Active Directory/LDAP user group. group_name (True, str, None) - The desired Active Directory user group name to be imported or removed. + The desired Active Directory/LDAP user group name to be imported or removed. Examples for user group name: Administrator or Account Operators or Access Control Assistance Operator. @@ -42,7 +42,7 @@ Parameters role (optional, str, None) - The desired roles and privilege for the imported Active Directory user group. + The desired roles and privilege for the imported Active Directory/LDAP user group. OpenManage Enterprise Modular Roles: CHASSIS ADMINISTRATOR, COMPUTE MANAGER, STORAGE MANAGER, FABRIC MANAGER, VIEWER. @@ -52,25 +52,29 @@ Parameters directory_name (optional, str, None) - The directory name set while adding the Active Directory. + The directory name set while adding the Active Directory/LDAP. *directory_name* is mutually exclusive with *directory_id*. + directory_type (optional, str, AD) + Type of the account. + + directory_id (optional, int, None) - The ID of the Active Directory. + The ID of the Active Directory/LDAP. *directory_id* is mutually exclusive with *directory_name*. domain_username (optional, str, None) - Active directory domain username. + Active Directory/LDAP domain username. Example: username@domain or domain\username. domain_password (optional, str, None) - Active directory domain password. + Active Directory/LDAP domain password. hostname (True, str, None) @@ -90,11 +94,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -157,20 +161,43 @@ Examples state: absent group_name: administrators + - name: Import LDAP directory group. + dellemc.openmanage.ome_domain_user_groups: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + directory_type: LDAP + state: present + group_name: account operators + directory_name: directory_name + role: administrator + domain_username: username@domain + domain_password: domain_password + + - name: Remove LDAP directory group. + dellemc.openmanage.ome_domain_user_groups: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + state: absent + group_name: account operators + Return Values ------------- -msg (always, str, Successfully imported the active directory user group.) - Overall status of the Active Directory user group operation. +msg (always, str, Successfully imported the Active Directory/LDAP user group.) + Overall status of the Active Directory/LDAP user group operation. -domain_user_status (When I(state) is C(present)., dict, AnsibleMapping([('Description', None), ('DirectoryServiceId', 16097), ('Enabled', True), ('Id', '16617'), ('IsBuiltin', False), ('IsVisible', True), ('Locked', False), ('Name', 'Account Operators'), ('ObjectGuid', 'a491859c-031e-42a3-ae5e-0ab148ecf1d6'), ('ObjectSid', None), ('Oem', None), ('Password', None), ('PlainTextPassword', None), ('RoleId', '16'), ('UserName', 'Account Operators'), ('UserTypeId', 2)])) +domain_user_status (When I(state) is C(present)., dict, {'Description': None, 'DirectoryServiceId': 16097, 'Enabled': True, 'Id': '16617', 'IsBuiltin': False, 'IsVisible': True, 'Locked': False, 'Name': 'Account Operators', 'ObjectGuid': 'a491859c-031e-42a3-ae5e-0ab148ecf1d6', 'ObjectSid': None, 'Oem': None, 'Password': None, 'PlainTextPassword': None, 'RoleId': '16', 'UserName': 'Account Operators', 'UserTypeId': 2}) Details of the domain user operation, when *state* is ``present``. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. @@ -188,4 +215,5 @@ Authors ~~~~~~~ - Felix Stephen (@felixs88) +- Abhishek Sinha (@Abhishek-Dell) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware.rst index 4dcc4ae3b..f9870d4f9 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware.rst @@ -20,7 +20,7 @@ Requirements ------------ The below requirements are needed on the host that executes this module. -- python >= 3.8.6 +- python >= 3.9.6 @@ -61,7 +61,7 @@ Parameters This option is mutually exclusive with *dup_file* and *device_group_names*. - components (optional, list, None) + components (optional, list, []) List of components to be updated. If not provided, all components applicable are considered. @@ -89,7 +89,7 @@ Parameters This option is mutually exclusive with *id*. - components (optional, list, None) + components (optional, list, []) The target components to be updated. If not specified, all applicable device components are considered. @@ -102,6 +102,18 @@ Parameters if ``RebootNow`` will apply the firmware updates immediately. + reboot_type (optional, str, GracefulRebootForce) + This option provides the choices to reboot the server immediately after the firmware update. + + This is applicable when *schedule* is ``RebootNow``. + + ``GracefulRebootForce`` performs a graceful reboot with forced shutdown. + + ``GracefulReboot`` performs a graceful reboot without forced shutdown. + + ``PowerCycle`` performs a power cycle for a hard reset on the device. + + hostname (True, str, None) OpenManage Enterprise or OpenManage Enterprise Modular IP address or hostname. @@ -119,11 +131,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -141,7 +153,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to Dell EMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -249,7 +261,7 @@ Examples devices: - id: 12345 components: - - Lifecycle Controller + - Lifecycle Controller - id: 12346 components: - Enterprise UEFI Diagnostics @@ -287,6 +299,17 @@ Examples components: - iDRAC with Lifecycle Controller + - name: "Update firmware using baseline name and components and perform Powercycle." + dellemc.openmanage.ome_firmware: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + baseline_name: baseline_devices + components: + - BIOS + reboot_type: PowerCycle + Return Values @@ -296,11 +319,11 @@ msg (always, str, Successfully submitted the firmware update job.) Overall firmware update status. -update_status (success, dict, AnsibleMapping([('LastRun', 'None'), ('CreatedBy', 'user'), ('Schedule', 'startnow'), ('LastRunStatus', AnsibleMapping([('Id', 1111), ('Name', 'NotRun')])), ('Builtin', False), ('Editable', True), ('NextRun', 'None'), ('JobStatus', AnsibleMapping([('Id', 1111), ('Name', 'New')])), ('JobName', 'Firmware Update Task'), ('Visible', True), ('State', 'Enabled'), ('JobDescription', 'dup test'), ('Params', [AnsibleMapping([('Value', 'true'), ('Key', 'signVerify'), ('JobId', 11111)]), AnsibleMapping([('Value', 'false'), ('Key', 'stagingValue'), ('JobId', 11112)]), AnsibleMapping([('Value', 'false'), ('Key', 'complianceUpdate'), ('JobId', 11113)]), AnsibleMapping([('Value', 'INSTALL_FIRMWARE'), ('Key', 'operationName'), ('JobId', 11114)])]), ('Targets', [AnsibleMapping([('TargetType', AnsibleMapping([('Id', 1000), ('Name', 'DEVICE')])), ('Data', 'DCIM:INSTALLED#701__NIC.Mezzanine.1A-1-1=1234567654321'), ('Id', 11115), ('JobId', 11116)])]), ('StartTime', 'None'), ('UpdatedBy', 'None'), ('EndTime', 'None'), ('Id', 11117), ('JobType', AnsibleMapping([('Internal', False), ('Id', 5), ('Name', 'Update_Task')]))])) +update_status (success, dict, {'LastRun': 'None', 'CreatedBy': 'user', 'Schedule': 'startnow', 'LastRunStatus': {'Id': 1111, 'Name': 'NotRun'}, 'Builtin': False, 'Editable': True, 'NextRun': 'None', 'JobStatus': {'Id': 1111, 'Name': 'New'}, 'JobName': 'Firmware Update Task', 'Visible': True, 'State': 'Enabled', 'JobDescription': 'dup test', 'Params': [{'Value': 'true', 'Key': 'signVerify', 'JobId': 11111}, {'Value': 'false', 'Key': 'stagingValue', 'JobId': 11112}, {'Value': 'false', 'Key': 'complianceUpdate', 'JobId': 11113}, {'Value': 'INSTALL_FIRMWARE', 'Key': 'operationName', 'JobId': 11114}], 'Targets': [{'TargetType': {'Id': 1000, 'Name': 'DEVICE'}, 'Data': 'DCIM:INSTALLED#701__NIC.Mezzanine.1A-1-1=1234567654321', 'Id': 11115, 'JobId': 11116}], 'StartTime': 'None', 'UpdatedBy': 'None', 'EndTime': 'None', 'Id': 11117, 'JobType': {'Internal': False, 'Id': 5, 'Name': 'Update_Task'}}) The firmware update job and progress details from the OME. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. @@ -319,4 +342,5 @@ Authors - Felix Stephen (@felixs88) - Jagadeesh N V (@jagadeeshnv) +- Abhishek Sinha (@ABHISHEK-SINHA10) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware_baseline.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware_baseline.rst index 673804ea8..971551b21 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware_baseline.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware_baseline.rst @@ -60,13 +60,13 @@ Parameters downgrade_enabled (optional, bool, None) Indicates whether firmware downgrade is allowed for the devices in the baseline. - This value will be set to ``True`` by default, if not provided during baseline creation. + This value will be set to ``true`` by default, if not provided during baseline creation. is_64_bit (optional, bool, None) Indicates if the repository contains 64-bit DUPs. - This value will be set to ``True`` by default, if not provided during baseline creation. + This value will be set to ``true`` by default, if not provided during baseline creation. device_ids (optional, list, None) @@ -96,7 +96,11 @@ Parameters job_wait_timeout (optional, int, 600) The maximum wait time of *job_wait* in seconds. The job is tracked only for this duration. - This option is applicable when *job_wait* is ``True``. + This option is applicable when *job_wait* is ``true``. + + + filter_no_reboot_required (optional, bool, None) + Select only components with no reboot required allows to create a firmware/driver baseline that consists of only the components of the target devices that don't require a reboot of the target devices. hostname (True, str, None) @@ -116,11 +120,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -138,7 +142,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise or OpenManage Enterprise Modular. + - Run this module from a system that has direct access to Dell OpenManage Enterprise or OpenManage Enterprise Modular. - *device_group_names* option is not applicable for OpenManage Enterprise Modular. - This module supports ``check_mode``. @@ -165,6 +169,20 @@ Examples - 1010 - 2020 + - name: Create baseline for device IDs with no reboot required + dellemc.openmanage.ome_firmware_baseline: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + baseline_name: "baseline_name" + baseline_description: "baseline_description" + catalog_name: "catalog_name" + filter_no_reboot_required: true + device_ids: + - 1010 + - 2020 + - name: Create baseline for servicetags dellemc.openmanage.ome_firmware_baseline: hostname: "192.168.0.1" @@ -178,6 +196,20 @@ Examples - "SVCTAG1" - "SVCTAG2" + - name: Create baseline for servicetags with no reboot required + dellemc.openmanage.ome_firmware_baseline: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + baseline_name: "baseline_name" + baseline_description: "baseline_description" + catalog_name: "catalog_name" + filter_no_reboot_required: true + device_service_tags: + - "SVCTAG1" + - "SVCTAG2" + - name: Create baseline for device groups without job tracking dellemc.openmanage.ome_firmware_baseline: hostname: "192.168.0.1" @@ -190,7 +222,7 @@ Examples device_group_names: - "Group1" - "Group2" - job_wait: no + job_wait: false - name: Modify an existing baseline dellemc.openmanage.ome_firmware_baseline: @@ -206,8 +238,18 @@ Examples - "Group3" - "Group4" - "Group5" - downgrade_enabled: no - is_64_bit: yes + downgrade_enabled: false + is_64_bit: true + + - name: Modify no reboot filter in existing baseline + dellemc.openmanage.ome_firmware_baseline: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + baseline_name: "existing_baseline_name" + new_baseline_name: "new_baseline_name" + filter_no_reboot_required: true - name: Delete a baseline dellemc.openmanage.ome_firmware_baseline: @@ -227,7 +269,7 @@ msg (always, str, Successfully created the firmware baseline.) Overall status of the firmware baseline operation. -baseline_status (success, dict, AnsibleMapping([('CatalogId', 123), ('Description', 'BASELINE DESCRIPTION'), ('DeviceComplianceReports', []), ('DowngradeEnabled', True), ('Id', 23), ('Is64Bit', True), ('Name', 'my_baseline'), ('RepositoryId', 123), ('RepositoryName', 'catalog123'), ('RepositoryType', 'HTTP'), ('Targets', [AnsibleMapping([('Id', 10083), ('Type', AnsibleMapping([('Id', 1000), ('Name', 'DEVICE')]))]), AnsibleMapping([('Id', 10076), ('Type', AnsibleMapping([('Id', 1000), ('Name', 'DEVICE')]))])]), ('TaskId', 11235), ('TaskStatusId', 2060)])) +baseline_status (success, dict, {'CatalogId': 123, 'Description': 'BASELINE DESCRIPTION', 'DeviceComplianceReports': [], 'DowngradeEnabled': True, 'FilterNoRebootRequired': True, 'Id': 23, 'Is64Bit': True, 'Name': 'my_baseline', 'RepositoryId': 123, 'RepositoryName': 'catalog123', 'RepositoryType': 'HTTP', 'Targets': [{'Id': 10083, 'Type': {'Id': 1000, 'Name': 'DEVICE'}}, {'Id': 10076, 'Type': {'Id': 1000, 'Name': 'DEVICE'}}], 'TaskId': 11235, 'TaskStatusId': 2060}) Details of the baseline status. @@ -239,7 +281,7 @@ baseline_id (When I(state) is C(absent), int, 10123) ID of the deleted baseline. -error_info (on http error, dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Unable to retrieve baseline list either because the device ID(s) entered are invalid'), ('Resolution', 'Make sure the entered device ID(s) are valid and retry the operation.'), ('Severity', 'Critical')])]), ('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.')]))])) +error_info (on http error, dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to retrieve baseline list either because the device ID(s) entered are invalid', 'Resolution': 'Make sure the entered device ID(s) are valid and retry the operation.', 'Severity': 'Critical'}], 'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}}) Details of http error. @@ -257,4 +299,5 @@ Authors ~~~~~~~ - Jagadeesh N V(@jagadeeshnv) +- Kritika Bhateja (@Kritika-Bhateja-03) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware_baseline_compliance_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware_baseline_compliance_info.rst index 80b4c5077..a1c5ca246 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware_baseline_compliance_info.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware_baseline_compliance_info.rst @@ -82,11 +82,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -104,7 +104,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -124,8 +124,8 @@ Examples password: "password" ca_path: "/path/to/ca_cert.pem" device_ids: - - 11111 - - 22222 + - 11111 + - 22222 - name: Retrieves device based compliance report for specified service Tags dellemc.openmanage.ome_firmware_baseline_compliance_info: @@ -134,8 +134,8 @@ Examples password: "password" ca_path: "/path/to/ca_cert.pem" device_service_tags: - - MXL1234 - - MXL4567 + - MXL1234 + - MXL4567 - name: Retrieves device based compliance report for specified group names dellemc.openmanage.ome_firmware_baseline_compliance_info: @@ -144,8 +144,8 @@ Examples password: "password" ca_path: "/path/to/ca_cert.pem" device_group_names: - - "group1" - - "group2" + - "group1" + - "group2" - name: Retrieves device compliance report for a specified baseline dellemc.openmanage.ome_firmware_baseline_compliance_info: @@ -164,11 +164,11 @@ msg (on error, str, Failed to fetch the compliance baseline information.) Overall baseline compliance report status. -baseline_compliance_info (success, dict, [AnsibleMapping([('CatalogId', 53), ('ComplianceSummary', AnsibleMapping([('ComplianceStatus', 'CRITICAL'), ('NumberOfCritical', 2), ('NumberOfDowngrade', 0), ('NumberOfNormal', 0), ('NumberOfWarning', 0)])), ('Description', ''), ('DeviceComplianceReports', [AnsibleMapping([('ComplianceStatus', 'CRITICAL'), ('ComponentComplianceReports', [AnsibleMapping([('ComplianceDependencies', []), ('ComplianceStatus', 'DOWNGRADE'), ('Criticality', 'Ok'), ('CurrentVersion', 'OSC_1.1'), ('Id', 1258), ('ImpactAssessment', ''), ('Name', 'OS COLLECTOR 2.1'), ('Path', 'FOLDER04118304M/2/Diagnostics_Application_JCCH7_WN64_4.0_A00_01.EXE'), ('PrerequisiteInfo', ''), ('RebootRequired', False), ('SourceName', 'DCIM:INSTALLED#802__OSCollector.Embedded.1'), ('TargetIdentifier', '101734'), ('UniqueIdentifier', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'), ('UpdateAction', 'DOWNGRADE'), ('Uri', 'http://www.dell.com/support/home/us/en/19/Drivers/DriversDetails?driverId=XXXXX'), ('Version', '4.0')]), AnsibleMapping([('ComplianceDependencies', []), ('ComplianceStatus', 'CRITICAL'), ('Criticality', 'Recommended'), ('CurrentVersion', 'DN02'), ('Id', 1259), ('ImpactAssessment', ''), ('Name', 'TOSHIBA AL14SE 1.8 TB 2.5 12Gb 10K 512n SAS HDD Drive'), ('Path', 'FOLDER04086111M/1/SAS-Drive_Firmware_VDGFM_WN64_DN03_A00.EXE'), ('PrerequisiteInfo', ''), ('RebootRequired', True), ('SourceName', 'DCIM:INSTALLED#304_C_Disk.Bay.1:Enclosure.Internal.0-1:RAID.Integrated.1-1'), ('TargetIdentifier', '103730'), ('UniqueIdentifier', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'), ('UpdateAction', 'UPGRADE'), ('Uri', 'http://www.dell.com/support/home/us/en/19/Drivers/DriversDetails?driverId=XXXXX'), ('Version', 'DN03')])]), ('DeviceId', 11603), ('DeviceModel', 'PowerEdge R630'), ('DeviceName', None), ('DeviceTypeId', 1000), ('DeviceTypeName', 'CPGCGS'), ('FirmwareStatus', 'Non-Compliant'), ('Id', 194), ('RebootRequired', True), ('ServiceTag', 'MXL1234')])]), ('DowngradeEnabled', True), ('Id', 53), ('Is64Bit', False), ('LastRun', '2019-09-27 05:08:16.301'), ('Name', 'baseline1'), ('RepositoryId', 43), ('RepositoryName', 'catalog2'), ('RepositoryType', 'CIFS'), ('Targets', [AnsibleMapping([('Id', 11603), ('Type', AnsibleMapping([('Id', 1000), ('Name', 'DEVICE')]))])]), ('TaskId', 11710), ('TaskStatusId', 0)])]) +baseline_compliance_info (success, dict, [{'CatalogId': 53, 'ComplianceSummary': {'ComplianceStatus': 'CRITICAL', 'NumberOfCritical': 2, 'NumberOfDowngrade': 0, 'NumberOfNormal': 0, 'NumberOfWarning': 0}, 'Description': '', 'DeviceComplianceReports': [{'ComplianceStatus': 'CRITICAL', 'ComponentComplianceReports': [{'ComplianceDependencies': [], 'ComplianceStatus': 'DOWNGRADE', 'Criticality': 'Ok', 'CurrentVersion': 'OSC_1.1', 'Id': 1258, 'ImpactAssessment': '', 'Name': 'OS COLLECTOR 2.1', 'Path': 'FOLDER04118304M/2/Diagnostics_Application_JCCH7_WN64_4.0_A00_01.EXE', 'PrerequisiteInfo': '', 'RebootRequired': False, 'SourceName': 'DCIM:INSTALLED#802__OSCollector.Embedded.1', 'TargetIdentifier': '101734', 'UniqueIdentifier': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'UpdateAction': 'DOWNGRADE', 'Uri': 'http://www.dell.com/support/home/us/en/19/Drivers/DriversDetails?driverId=XXXXX', 'Version': '4.0'}, {'ComplianceDependencies': [], 'ComplianceStatus': 'CRITICAL', 'Criticality': 'Recommended', 'CurrentVersion': 'DN02', 'Id': 1259, 'ImpactAssessment': '', 'Name': 'TOSHIBA AL14SE 1.8 TB 2.5 12Gb 10K 512n SAS HDD Drive', 'Path': 'FOLDER04086111M/1/SAS-Drive_Firmware_VDGFM_WN64_DN03_A00.EXE', 'PrerequisiteInfo': '', 'RebootRequired': True, 'SourceName': 'DCIM:INSTALLED#304_C_Disk.Bay.1:Enclosure.Internal.0-1:RAID.Integrated.1-1', 'TargetIdentifier': '103730', 'UniqueIdentifier': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'UpdateAction': 'UPGRADE', 'Uri': 'http://www.dell.com/support/home/us/en/19/Drivers/DriversDetails?driverId=XXXXX', 'Version': 'DN03'}], 'DeviceId': 11603, 'DeviceModel': 'PowerEdge R630', 'DeviceName': None, 'DeviceTypeId': 1000, 'DeviceTypeName': 'CPGCGS', 'FirmwareStatus': 'Non-Compliant', 'Id': 194, 'RebootRequired': True, 'ServiceTag': 'MXL1234'}], 'DowngradeEnabled': True, 'Id': 53, 'Is64Bit': False, 'LastRun': '2019-09-27 05:08:16.301', 'Name': 'baseline1', 'RepositoryId': 43, 'RepositoryName': 'catalog2', 'RepositoryType': 'CIFS', 'Targets': [{'Id': 11603, 'Type': {'Id': 1000, 'Name': 'DEVICE'}}], 'TaskId': 11710, 'TaskStatusId': 0}]) Details of the baseline compliance report. -error_info (on http error, dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Unable to retrieve baseline list either because the device ID(s) entered are invalid'), ('Resolution', 'Make sure the entered device ID(s) are valid and retry the operation.'), ('Severity', 'Critical')])]), ('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.')]))])) +error_info (on http error, dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to retrieve baseline list either because the device ID(s) entered are invalid', 'Resolution': 'Make sure the entered device ID(s) are valid and retry the operation.', 'Severity': 'Critical'}], 'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}}) Details of http error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware_baseline_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware_baseline_info.rst index 8b03396fc..49ba4cd8f 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware_baseline_info.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware_baseline_info.rst @@ -48,11 +48,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -70,7 +70,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -107,7 +107,7 @@ msg (on error, str, Successfully fetched firmware baseline information.) Overall baseline information. -baseline_info (success, dict, AnsibleMapping([('@odata.id', '/api/UpdateService/Baselines(239)'), ('@odata.type', '#UpdateService.Baselines'), ('CatalogId', 22), ('ComplianceSummary', AnsibleMapping([('ComplianceStatus', 'CRITICAL'), ('NumberOfCritical', 1), ('NumberOfDowngrade', 0), ('NumberOfNormal', 0), ('NumberOfWarning', 0)])), ('Description', 'baseline_description'), ('DeviceComplianceReports@odata.navigationLink', '/api/UpdateService/Baselines(239)/DeviceComplianceReports'), ('DowngradeEnabled', True), ('Id', 239), ('Is64Bit', True), ('LastRun', '2020-05-22 16:42:40.307'), ('Name', 'baseline_name'), ('RepositoryId', 12), ('RepositoryName', 'HTTP DELL'), ('RepositoryType', 'DELL_ONLINE'), ('Targets', [AnsibleMapping([('Id', 10342), ('Type', AnsibleMapping([('Id', 1000), ('Name', 'DEVICE')]))])]), ('TaskId', 41415), ('TaskStatusId', 2060)])) +baseline_info (success, dict, {'@odata.id': '/api/UpdateService/Baselines(239)', '@odata.type': '#UpdateService.Baselines', 'CatalogId': 22, 'ComplianceSummary': {'ComplianceStatus': 'CRITICAL', 'NumberOfCritical': 1, 'NumberOfDowngrade': 0, 'NumberOfNormal': 0, 'NumberOfWarning': 0}, 'Description': 'baseline_description', 'DeviceComplianceReports@odata.navigationLink': '/api/UpdateService/Baselines(239)/DeviceComplianceReports', 'DowngradeEnabled': True, 'Id': 239, 'Is64Bit': True, 'LastRun': '2020-05-22 16:42:40.307', 'Name': 'baseline_name', 'RepositoryId': 12, 'RepositoryName': 'HTTP DELL', 'RepositoryType': 'DELL_ONLINE', 'Targets': [{'Id': 10342, 'Type': {'Id': 1000, 'Name': 'DEVICE'}}], 'TaskId': 41415, 'TaskStatusId': 2060}) Details of the baselines. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware_catalog.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware_catalog.rst index 99983a769..2813e66a6 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware_catalog.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_firmware_catalog.rst @@ -104,7 +104,7 @@ Parameters check_certificate (optional, bool, False) - The certificate warnings are ignored when *repository_type* is HTTPS. If ``True``. If not, certificate warnings are not ignored. + The certificate warnings are ignored when *repository_type* is HTTPS. If ``true``. If not, certificate warnings are not ignored. job_wait (optional, bool, True) @@ -116,7 +116,7 @@ Parameters job_wait_timeout (optional, int, 600) The maximum wait time of *job_wait* in seconds. The job is tracked only for this duration. - This option is applicable when *job_wait* is ``True``. + This option is applicable when *job_wait* is ``true``. hostname (True, str, None) @@ -136,11 +136,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -159,7 +159,8 @@ Notes .. note:: - If *repository_password* is provided, then the module always reports the changed status. - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise or OpenManage Enterprise Modular. + - Run this module from a system that has direct access to Dell OpenManage Enterprise or OpenManage Enterprise Modular. + - This module supports IPv4 and IPv6 addresses. - This module supports ``check_mode``. @@ -184,7 +185,7 @@ Examples source: "downloads.dell.com" source_path: "catalog" file_name: "catalog.gz" - check_certificate: True + check_certificate: true - name: Create a catalog from HTTP repository dellemc.openmanage.ome_firmware_catalog: @@ -237,7 +238,7 @@ Examples catalog_name: "catalog_name" catalog_description: "catalog_description" repository_type: "DELL_ONLINE" - check_certificate: True + check_certificate: true - name: Modify a catalog using a repository from CIFS share dellemc.openmanage.ome_firmware_catalog: @@ -293,7 +294,7 @@ msg (always, str, Successfully triggered the job to create a catalog with Task I Overall status of the firmware catalog operation. -catalog_status (When I(state) is C(present), dict, AnsibleMapping([('AssociatedBaselines', []), ('BaseLocation', None), ('BundlesCount', 0), ('Filename', 'catalog.gz'), ('Id', 0), ('LastUpdated', None), ('ManifestIdentifier', None), ('ManifestVersion', None), ('NextUpdate', None), ('PredecessorIdentifier', None), ('ReleaseDate', None), ('ReleaseIdentifier', None), ('Repository', AnsibleMapping([('CheckCertificate', True), ('Description', 'HTTPS Desc'), ('DomainName', None), ('Id', None), ('Name', 'catalog4'), ('Password', None), ('RepositoryType', 'HTTPS'), ('Source', 'company.com'), ('Username', None)])), ('Schedule', None), ('SourcePath', 'catalog'), ('Status', None), ('TaskId', 10094)])) +catalog_status (When I(state) is C(present), dict, {'AssociatedBaselines': [], 'BaseLocation': None, 'BundlesCount': 0, 'Filename': 'catalog.gz', 'Id': 0, 'LastUpdated': None, 'ManifestIdentifier': None, 'ManifestVersion': None, 'NextUpdate': None, 'PredecessorIdentifier': None, 'ReleaseDate': None, 'ReleaseIdentifier': None, 'Repository': {'CheckCertificate': True, 'Description': 'HTTPS Desc', 'DomainName': None, 'Id': None, 'Name': 'catalog4', 'Password': None, 'RepositoryType': 'HTTPS', 'Source': 'company.com', 'Username': None}, 'Schedule': None, 'SourcePath': 'catalog', 'Status': None, 'TaskId': 10094}) Details of the catalog operation. @@ -305,11 +306,11 @@ catalog_id (When I(state) is C(absent), int, 10123) IDs of the deleted catalog. -associated_baselines (When I(state) is C(absent), list, [AnsibleMapping([('BaselineId', 24), ('BaselineName', 'new')]), AnsibleMapping([('BaselineId', 25), ('BaselineName', 'c7')]), AnsibleMapping([('BaselineId', 27), ('BaselineName', 'c4')])]) +associated_baselines (When I(state) is C(absent), list, [{'BaselineId': 24, 'BaselineName': 'new'}, {'BaselineId': 25, 'BaselineName': 'c7'}, {'BaselineId': 27, 'BaselineName': 'c4'}]) IDs of the baselines associated with catalog. -error_info (on http error, dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Unable to create or update the catalog because a repository with the same name already exists.'), ('Resolution', 'Enter a different name and retry the operation.'), ('Severity', 'Critical')])]), ('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.')]))])) +error_info (on http error, dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to create or update the catalog because a repository with the same name already exists.', 'Resolution': 'Enter a different name and retry the operation.', 'Severity': 'Critical'}], 'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}}) Details of the http error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_groups.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_groups.rst index d5abeab16..4322d460c 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_groups.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_groups.rst @@ -100,11 +100,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -122,10 +122,10 @@ Notes ----- .. note:: - - This module manages only static device groups on Dell EMC OpenManage Enterprise. + - This module manages only static device groups on Dell OpenManage Enterprise. - If a device group with the name *parent_group_name* does not exist, a new device group with the same name is created. - Make sure the entered parent group is not the descendant of the provided group. - - Run this module from a system that has direct access to Dell EMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -187,7 +187,7 @@ msg (always, str, Successfully deleted the device group(s).) Overall status of the device group operation. -group_status (success, dict, AnsibleMapping([('Description', 'my group description'), ('Id', 12123), ('MembershipTypeId', 12), ('Name', 'group 1'), ('ParentId', 12345), ('TypeId', 3000), ('IdOwner', 30), ('CreatedBy', 'admin'), ('CreationTime', '2021-01-01 10:10:10.100'), ('DefinitionDescription', 'UserDefined'), ('DefinitionId', 400), ('GlobalStatus', 5000), ('HasAttributes', False), ('UpdatedBy', ''), ('UpdatedTime', '2021-01-01 11:11:10.100'), ('Visible', True)])) +group_status (success, dict, {'Description': 'my group description', 'Id': 12123, 'MembershipTypeId': 12, 'Name': 'group 1', 'ParentId': 12345, 'TypeId': 3000, 'IdOwner': 30, 'CreatedBy': 'admin', 'CreationTime': '2021-01-01 10:10:10.100', 'DefinitionDescription': 'UserDefined', 'DefinitionId': 400, 'GlobalStatus': 5000, 'HasAttributes': False, 'UpdatedBy': '', 'UpdatedTime': '2021-01-01 11:11:10.100', 'Visible': True}) Details of the device group operation status. @@ -199,7 +199,7 @@ invalid_groups (when I(state) is C(absent), list, [1234, 5678]) List of the invalid device group IDs or names. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'CGRP9013'), ('RelatedProperties', []), ('Message', 'Unable to update group 12345 with the provided parent 54321 because a group/parent relationship already exists.'), ('MessageArgs', ['12345', '54321']), ('Severity', 'Warning'), ('Resolution', 'Make sure the entered parent ID does not create a bidirectional relationship and retry the operation.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'CGRP9013', 'RelatedProperties': [], 'Message': 'Unable to update group 12345 with the provided parent 54321 because a group/parent relationship already exists.', 'MessageArgs': ['12345', '54321'], 'Severity': 'Warning', 'Resolution': 'Make sure the entered parent ID does not create a bidirectional relationship and retry the operation.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_identity_pool.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_identity_pool.rst index 733c837c8..4df20d14f 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_identity_pool.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_identity_pool.rst @@ -160,11 +160,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -182,7 +182,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -205,25 +205,25 @@ Examples pool_name: "pool1" pool_description: "Identity pool with Ethernet, FCoE, iSCSI and FC settings" ethernet_settings: - starting_mac_address: "50:50:50:50:50:00" - identity_count: 60 + starting_mac_address: "50:50:50:50:50:00" + identity_count: 60 fcoe_settings: - starting_mac_address: "70:70:70:70:70:00" - identity_count: 75 + starting_mac_address: "70:70:70:70:70:00" + identity_count: 75 iscsi_settings: - starting_mac_address: "60:60:60:60:60:00" - identity_count: 30 - initiator_config: - iqn_prefix: "iqn.myprefix." - initiator_ip_pool_settings: - ip_range: "10.33.0.1-10.33.0.255" - subnet_mask: "255.255.255.0" - gateway: "192.168.4.1" - primary_dns_server : "10.8.8.8" - secondary_dns_server : "8.8.8.8" + starting_mac_address: "60:60:60:60:60:00" + identity_count: 30 + initiator_config: + iqn_prefix: "iqn.myprefix." + initiator_ip_pool_settings: + ip_range: "10.33.0.1-10.33.0.255" + subnet_mask: "255.255.255.0" + gateway: "192.168.4.1" + primary_dns_server: "10.8.8.8" + secondary_dns_server: "8.8.8.8" fc_settings: - starting_address: "30:30:30:30:30:00" - identity_count: 45 + starting_address: "30:30:30:30:30:00" + identity_count: 45 - name: Create an identity pool using only ethernet settings dellemc.openmanage.ome_identity_pool: @@ -234,8 +234,8 @@ Examples pool_name: "pool2" pool_description: "create identity pool with ethernet" ethernet_settings: - starting_mac_address: "aa-bb-cc-dd-ee-aa" - identity_count: 80 + starting_mac_address: "aa-bb-cc-dd-ee-aa" + identity_count: 80 - name: Modify an identity pool dellemc.openmanage.ome_identity_pool: @@ -247,11 +247,11 @@ Examples new_pool_name: "pool3" pool_description: "modifying identity pool with ethernet and fcoe settings" ethernet_settings: - starting_mac_address: "90-90-90-90-90-90" - identity_count: 61 + starting_mac_address: "90-90-90-90-90-90" + identity_count: 61 fcoe_settings: - starting_mac_address: "aabb.ccdd.5050" - identity_count: 77 + starting_mac_address: "aabb.ccdd.5050" + identity_count: 77 - name: Modify an identity pool using iSCSI and FC settings dellemc.openmanage.ome_identity_pool: @@ -290,11 +290,11 @@ msg (always, str, Successfully created an identity pool.) Overall status of the identity pool operation. -pool_status (success, dict, AnsibleMapping([('Id', 29), ('IsSuccessful', True), ('Issues', [])])) +pool_status (success, dict, {'Id': 29, 'IsSuccessful': True, 'Issues': []}) Details of the user operation, when *state* is ``present``. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Unable to process the request because an error occurred: Ethernet-MAC Range overlap found (in this Identity Pool or in a different one) .'), ('MessageArgs', ['Ethernet-MAC Range overlap found (in this Identity Pool or in a different one)"']), ('MessageId', 'CGEN6001'), ('RelatedProperties', []), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.'), ('Severity', 'Critical')])]), ('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.')]))])) +error_info (on HTTP error, dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to process the request because an error occurred: Ethernet-MAC Range overlap found (in this Identity Pool or in a different one) .', 'MessageArgs': ['Ethernet-MAC Range overlap found (in this Identity Pool or in a different one)"'], 'MessageId': 'CGEN6001', 'RelatedProperties': [], 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.', 'Severity': 'Critical'}], 'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_job_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_job_info.rst index cd4170162..5c998cf44 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_job_info.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_job_info.rst @@ -48,6 +48,16 @@ Parameters + fetch_execution_history (optional, bool, False) + Fetches the execution history of the job. + + *fetch_execution_history* is only applicable when valid *job_id* is given. + + When ``true``, fetches all the execution history details. + + When ``false``, fetches only the job info and last execution details. + + hostname (True, str, None) OpenManage Enterprise or OpenManage Enterprise Modular IP address or hostname. @@ -65,11 +75,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -87,7 +97,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -126,6 +136,14 @@ Examples skip: 1 filter: "JobType/Id eq 8" + - name: Get detail job execution history with last execution detail for a job. + dellemc.openmanage.ome_job_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + job_id: 12345 + fetch_execution_history: true @@ -136,7 +154,7 @@ msg (always, str, Successfully fetched the job info) Overall status of the job facts operation. -job_info (success, dict, AnsibleMapping([('value', [AnsibleMapping([('Builtin', False), ('CreatedBy', 'system'), ('Editable', True), ('EndTime', None), ('Id', 12345), ('JobDescription', 'Refresh Inventory for Device'), ('JobName', 'Refresh Inventory for Device'), ('JobStatus', AnsibleMapping([('Id', 2080), ('Name', 'New')])), ('JobType', AnsibleMapping([('Id', 8), ('Internal', False), ('Name', 'Inventory_Task')])), ('LastRun', '2000-01-29 10:51:34.776'), ('LastRunStatus', AnsibleMapping([('Id', 2060), ('Name', 'Completed')])), ('NextRun', None), ('Params', []), ('Schedule', ''), ('StartTime', None), ('State', 'Enabled'), ('Targets', [AnsibleMapping([('Data', "''"), ('Id', 123123), ('JobId', 12345), ('TargetType', AnsibleMapping([('Id', 1000), ('Name', 'DEVICE')]))])]), ('UpdatedBy', None), ('Visible', True)])])])) +job_info (success, dict, {'value': [{'Id': 10429, 'JobName': 'Discovery-201', 'JobDescription': 'Discovery-201', 'NextRun': None, 'LastRun': '2023-06-07 09:33:07.161', 'StartTime': None, 'EndTime': None, 'Schedule': 'startnow', 'State': 'Enabled', 'CreatedBy': 'admin', 'UpdatedBy': 'admin', 'Visible': True, 'Editable': True, 'Builtin': False, 'UserGenerated': True, 'Targets': [], 'Params': [], 'LastRunStatus': {'Id': 2070, 'Name': 'Failed'}, 'JobType': {'Id': 101, 'Name': 'Discovery_Task', 'Internal': False}, 'JobStatus': {'Id': 2080, 'Name': 'New'}, 'ExecutionHistories': [{'Id': 1243224, 'JobName': 'Discovery-201', 'Progress': '100', 'StartTime': '2023-06-07 09:33:07.148', 'EndTime': '2023-06-07 09:33:08.403', 'LastUpdateTime': '2023-06-07 09:33:08.447185', 'ExecutedBy': 'admin', 'JobId': 10429, 'JobStatus': {'Id': 2070, 'Name': 'Failed'}, 'ExecutionHistoryDetails': [{'Id': 1288519, 'Progress': '100', 'StartTime': '2023-06-07 09:33:07.525', 'EndTime': '2023-06-07 09:33:08.189', 'ElapsedTime': '00:00:00', 'Key': '198.168.0.1', 'Value': 'Running\nDiscovery of target 198.168.0.1 started .\nDiscovery target resolved to IP 198.168.0.1 .\n: ========== EEMI Code: CGEN1009 ==========\nMessage: Unable to perform the requested action because the device management endpoint authentication over WSMAN, REDFISH failed. \nRecommended actions: Make sure the credentials associated with the device management endpoint are valid and retry the operation.\n=======================================\nTask Failed. Completed With Errors.', 'ExecutionHistoryId': 1243224, 'IdBaseEntity': 0, 'JobStatus': {'Id': 2070, 'Name': 'Failed'}}, {'Id': 1288518, 'Progress': '100', 'StartTime': '2023-06-07 09:33:07.521', 'EndTime': '2023-06-07 09:33:08.313', 'ElapsedTime': '00:00:00', 'Key': '198.168.0.2', 'Value': 'Running\nDiscovery of target 198.168.0.2 started. \nDiscovery target resolved to IP 198.168.0.2 .\n: ========== EEMI Code: CGEN1009 ==========\nMessage: Unable to perform the requested action because the device management endpoint authentication over WSMAN, REDFISH failed. \nRecommended actions: Make sure the credentials associated with the device management endpoint are valid and retry the operation.\n=======================================\nTask Failed. Completed With Errors.', 'ExecutionHistoryId': 1243224, 'IdBaseEntity': 0, 'JobStatus': {'Id': 2070, 'Name': 'Failed'}}]}, {'Id': 1243218, 'JobName': 'Discovery-201', 'Progress': '100', 'StartTime': '2023-06-07 09:30:55.064', 'EndTime': '2023-06-07 09:30:56.338', 'LastUpdateTime': '2023-06-07 09:30:56.365294', 'ExecutedBy': 'admin', 'JobId': 10429, 'JobStatus': {'Id': 2070, 'Name': 'Failed'}, 'ExecutionHistoryDetails': [{'Id': 1288512, 'Progress': '100', 'StartTime': '2023-06-07 09:30:55.441', 'EndTime': '2023-06-07 09:30:56.085', 'ElapsedTime': '00:00:00', 'Key': '198.168.0.1', 'Value': 'Running\nDiscovery of target 198.168.0.1 started. \nDiscovery target resolved to IP 198.168.0.1 .\n: ========== EEMI Code: CGEN1009 ==========\nMessage: Unable to perform the requested action because the device management endpoint authentication over WSMAN, REDFISH failed. \nRecommended actions: Make sure the credentials associated with the device management endpoint are valid and retry the operation.\n=======================================\nTask Failed. Completed With Errors.', 'ExecutionHistoryId': 1243218, 'IdBaseEntity': 0, 'JobStatus': {'Id': 2070, 'Name': 'Failed'}}, {'Id': 1288511, 'Progress': '100', 'StartTime': '2023-06-07 09:30:55.439', 'EndTime': '2023-06-07 09:30:56.21', 'ElapsedTime': '00:00:00', 'Key': '198.168.0.2', 'Value': 'Running\nDiscovery of target 198.168.0.2 started. \nDiscovery target resolved to IP 198.168.0.2 .\n: ========== EEMI Code: CGEN1009 ==========\nMessage: Unable to perform the requested action because the device management endpoint authentication over WSMAN, REDFISH failed. \nRecommended actions: Make sure the credentials associated with the device management endpoint are valid and retry the operation.\n=======================================\nTask Failed. Completed With Errors.', 'ExecutionHistoryId': 1243218, 'IdBaseEntity': 0, 'JobStatus': {'Id': 2070, 'Name': 'Failed'}}]}], 'LastExecutionDetail': {'Id': 1288519, 'Progress': '100', 'StartTime': '2023-06-07 09:33:07.525', 'EndTime': '2023-06-07 09:33:08.189', 'ElapsedTime': None, 'Key': '198.168.0.1', 'Value': 'Running\nDiscovery of target 198.168.0.1 started. \nDiscovery target resolved to IP 198.168.0.1 .\n: ========== EEMI Code: CGEN1009 ==========\nMessage: Unable to perform the requested action because the device management endpoint authentication over WSMAN, REDFISH failed. \nRecommended actions: Make sure the credentials associated with the device management endpoint are valid and retry the operation. \n=======================================\nTask Failed. Completed With Errors.', 'ExecutionHistoryId': 1243224, 'IdBaseEntity': 0, 'JobStatus': {'Id': 2070, 'Name': 'Failed'}}}]}) Details of the OpenManage Enterprise jobs. @@ -153,5 +171,6 @@ Status Authors ~~~~~~~ -- Jagadeesh N V(@jagadeeshnv) +- Jagadeesh N V (@jagadeeshnv) +- Abhishek Sinha (@Abhishek-Dell) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_network_port_breakout.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_network_port_breakout.rst index 798f41bc2..839554682 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_network_port_breakout.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_network_port_breakout.rst @@ -56,11 +56,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -78,7 +78,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise Modular. + - Run this module from a system that has direct access to Dell OpenManage Enterprise Modular. - This module supports ``check_mode``. @@ -118,11 +118,11 @@ msg (always, str, Port breakout configuration job submitted successfully.) Overall status of the port configuration. -breakout_status (success, dict, AnsibleMapping([('Builtin', False), ('CreatedBy', 'root'), ('Editable', True), ('EndTime', None), ('Id', 11111), ('JobDescription', ''), ('JobName', 'Breakout Port'), ('JobStatus', AnsibleMapping([('Id', 1112), ('Name', 'New')])), ('JobType', AnsibleMapping([('Id', 3), ('Internal', False), ('Name', 'DeviceAction_Task')])), ('LastRun', None), ('LastRunStatus', AnsibleMapping([('Id', 1113), ('Name', 'NotRun')])), ('NextRun', None), ('Params', [AnsibleMapping([('JobId', 11111), ('Key', 'operationName'), ('Value', 'CONFIGURE_PORT_BREAK_OUT')]), AnsibleMapping([('JobId', 11111), ('Key', 'interfaceId'), ('Value', '2HB7NX2:phy-port1/1/11')]), AnsibleMapping([('JobId', 11111), ('Key', 'breakoutType'), ('Value', '1X40GE')])]), ('Schedule', 'startnow'), ('StartTime', None), ('State', 'Enabled'), ('Targets', [AnsibleMapping([('Data', ''), ('Id', 11112), ('JobId', 34206), ('TargetType', AnsibleMapping([('Id', 1000), ('Name', 'DEVICE')]))])]), ('UpdatedBy', None), ('UserGenerated', True), ('Visible', True)])) +breakout_status (success, dict, {'Builtin': False, 'CreatedBy': 'root', 'Editable': True, 'EndTime': None, 'Id': 11111, 'JobDescription': '', 'JobName': 'Breakout Port', 'JobStatus': {'Id': 1112, 'Name': 'New'}, 'JobType': {'Id': 3, 'Internal': False, 'Name': 'DeviceAction_Task'}, 'LastRun': None, 'LastRunStatus': {'Id': 1113, 'Name': 'NotRun'}, 'NextRun': None, 'Params': [{'JobId': 11111, 'Key': 'operationName', 'Value': 'CONFIGURE_PORT_BREAK_OUT'}, {'JobId': 11111, 'Key': 'interfaceId', 'Value': '2HB7NX2:phy-port1/1/11'}, {'JobId': 11111, 'Key': 'breakoutType', 'Value': '1X40GE'}], 'Schedule': 'startnow', 'StartTime': None, 'State': 'Enabled', 'Targets': [{'Data': '', 'Id': 11112, 'JobId': 34206, 'TargetType': {'Id': 1000, 'Name': 'DEVICE'}}], 'UpdatedBy': None, 'UserGenerated': True, 'Visible': True}) Details of the OpenManage Enterprise jobs. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_network_vlan.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_network_vlan.rst index e5dc4bdfa..0ab868cb9 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_network_vlan.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_network_vlan.rst @@ -84,11 +84,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -106,7 +106,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -181,11 +181,11 @@ msg (always, str, Successfully created the VLAN.) Overall status of the VLAN operation. -vlan_status (when I(state=present), dict, AnsibleMapping([('@odata.context', '/api/$metadata#NetworkConfigurationService.Network'), ('@odata.type', '#NetworkConfigurationService.Network'), ('@odata.id', '/api/NetworkConfigurationService/Networks(1234)'), ('Id', 1234), ('Name', 'vlan1'), ('Description', 'VLAN description'), ('VlanMaximum', 130), ('VlanMinimum', 140), ('Type', 1), ('CreatedBy', 'admin'), ('CreationTime', '2020-01-01 05:54:36.113'), ('UpdatedBy', None), ('UpdatedTime', '2020-01-01 05:54:36.113'), ('InternalRefNWUUId', '6d6effcc-eca4-44bd-be07-1234ab5cd67e')])) +vlan_status (when I(state=present), dict, {'@odata.context': '/api/$metadata#NetworkConfigurationService.Network', '@odata.type': '#NetworkConfigurationService.Network', '@odata.id': '/api/NetworkConfigurationService/Networks(1234)', 'Id': 1234, 'Name': 'vlan1', 'Description': 'VLAN description', 'VlanMaximum': 130, 'VlanMinimum': 140, 'Type': 1, 'CreatedBy': 'admin', 'CreationTime': '2020-01-01 05:54:36.113', 'UpdatedBy': None, 'UpdatedTime': '2020-01-01 05:54:36.113', 'InternalRefNWUUId': '6d6effcc-eca4-44bd-be07-1234ab5cd67e'}) Details of the VLAN that is either created or modified. -error_info (on HTTP error, dict, AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'CTEM1043'), ('RelatedProperties', []), ('Message', 'Unable to create or update the network because the entered VLAN minimum 0 is not within a valid range ( 1 - 4000 or 4021 - 4094 ).'), ('MessageArgs', ['0', '1', '4000', '4021', '4094']), ('Severity', 'Warning'), ('Resolution', 'Enter a valid VLAN minimum as identified in the message and retry the operation.')])])])) +error_info (on HTTP error, dict, {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'CTEM1043', 'RelatedProperties': [], 'Message': 'Unable to create or update the network because the entered VLAN minimum 0 is not within a valid range ( 1 - 4000 or 4021 - 4094 ).', 'MessageArgs': ['0', '1', '4000', '4021', '4094'], 'Severity': 'Warning', 'Resolution': 'Enter a valid VLAN minimum as identified in the message and retry the operation.'}]}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_network_vlan_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_network_vlan_info.rst index 266e67d90..af790fa30 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_network_vlan_info.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_network_vlan_info.rst @@ -56,11 +56,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -78,7 +78,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -119,11 +119,11 @@ Examples Return Values ------------- -msg (success, str, AnsibleMapping([('msg', 'Successfully retrieved the network VLAN information.'), ('network_vlan_info', [AnsibleMapping([('CreatedBy', 'admin'), ('CreationTime', '2020-09-02 18:48:42.129'), ('Description', 'Description of Logical Network - 1'), ('Id', 20057), ('InternalRefNWUUId', '42b9903d-93f8-4184-adcf-0772e4492f71'), ('Name', 'Network VLAN - 1'), ('Type', AnsibleMapping([('Description', 'This is the network for general purpose traffic. QOS Priority : Bronze.'), ('Id', 1), ('Name', 'General Purpose (Bronze)'), ('NetworkTrafficType', 'Ethernet'), ('QosType', AnsibleMapping([('Id', 4), ('Name', 'Bronze')])), ('VendorCode', 'GeneralPurpose')])), ('UpdatedBy', None), ('UpdatedTime', '2020-09-02 18:48:42.129'), ('VlanMaximum', 111), ('VlanMinimum', 111)]), AnsibleMapping([('CreatedBy', 'admin'), ('CreationTime', '2020-09-02 18:49:11.507'), ('Description', 'Description of Logical Network - 2'), ('Id', 20058), ('InternalRefNWUUId', 'e46ccb3f-ef57-4617-ac76-46c56594005c'), ('Name', 'Network VLAN - 2'), ('Type', AnsibleMapping([('Description', 'This is the network for general purpose traffic. QOS Priority : Silver.'), ('Id', 2), ('Name', 'General Purpose (Silver)'), ('NetworkTrafficType', 'Ethernet'), ('QosType', AnsibleMapping([('Id', 3), ('Name', 'Silver')])), ('VendorCode', 'GeneralPurpose')])), ('UpdatedBy', None), ('UpdatedTime', '2020-09-02 18:49:11.507'), ('VlanMaximum', 112), ('VlanMinimum', 112)])])])) +msg (success, str, {'msg': 'Successfully retrieved the network VLAN information.', 'network_vlan_info': [{'CreatedBy': 'admin', 'CreationTime': '2020-09-02 18:48:42.129', 'Description': 'Description of Logical Network - 1', 'Id': 20057, 'InternalRefNWUUId': '42b9903d-93f8-4184-adcf-0772e4492f71', 'Name': 'Network VLAN - 1', 'Type': {'Description': 'This is the network for general purpose traffic. QOS Priority : Bronze.', 'Id': 1, 'Name': 'General Purpose (Bronze)', 'NetworkTrafficType': 'Ethernet', 'QosType': {'Id': 4, 'Name': 'Bronze'}, 'VendorCode': 'GeneralPurpose'}, 'UpdatedBy': None, 'UpdatedTime': '2020-09-02 18:48:42.129', 'VlanMaximum': 111, 'VlanMinimum': 111}, {'CreatedBy': 'admin', 'CreationTime': '2020-09-02 18:49:11.507', 'Description': 'Description of Logical Network - 2', 'Id': 20058, 'InternalRefNWUUId': 'e46ccb3f-ef57-4617-ac76-46c56594005c', 'Name': 'Network VLAN - 2', 'Type': {'Description': 'This is the network for general purpose traffic. QOS Priority : Silver.', 'Id': 2, 'Name': 'General Purpose (Silver)', 'NetworkTrafficType': 'Ethernet', 'QosType': {'Id': 3, 'Name': 'Silver'}, 'VendorCode': 'GeneralPurpose'}, 'UpdatedBy': None, 'UpdatedTime': '2020-09-02 18:49:11.507', 'VlanMaximum': 112, 'VlanMinimum': 112}]}) Detailed information of the network VLAN(s). -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_powerstate.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_powerstate.rst index 461f1ed57..a9046a98e 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_powerstate.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_powerstate.rst @@ -60,11 +60,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -82,7 +82,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -146,7 +146,7 @@ msg (always, str, Power State operation job submitted successfully.) Overall power state operation job status. -job_status (success, dict, AnsibleMapping([('Builtin', False), ('CreatedBy', 'user'), ('Editable', True), ('EndTime', None), ('Id', 11111), ('JobDescription', 'DeviceAction_Task'), ('JobName', 'DeviceAction_Task_PowerState'), ('JobStatus', AnsibleMapping([('Id', 1111), ('Name', 'New')])), ('JobType', AnsibleMapping([('Id', 1), ('Internal', False), ('Name', 'DeviceAction_Task')])), ('LastRun', '2019-04-01 06:39:02.69'), ('LastRunStatus', AnsibleMapping([('Id', 1112), ('Name', 'Running')])), ('NextRun', None), ('Params', [AnsibleMapping([('JobId', 11111), ('Key', 'powerState'), ('Value', '2')]), AnsibleMapping([('JobId', 11111), ('Key', 'operationName'), ('Value', 'POWER_CONTROL')])]), ('Schedule', ''), ('StartTime', None), ('State', 'Enabled'), ('Targets', [AnsibleMapping([('Data', ''), ('Id', 11112), ('JobId', 11111), ('TargetType', AnsibleMapping([('Id', 1000), ('Name', 'DEVICE')]))])]), ('UpdatedBy', None), ('Visible', True)])) +job_status (success, dict, {'Builtin': False, 'CreatedBy': 'user', 'Editable': True, 'EndTime': None, 'Id': 11111, 'JobDescription': 'DeviceAction_Task', 'JobName': 'DeviceAction_Task_PowerState', 'JobStatus': {'Id': 1111, 'Name': 'New'}, 'JobType': {'Id': 1, 'Internal': False, 'Name': 'DeviceAction_Task'}, 'LastRun': '2019-04-01 06:39:02.69', 'LastRunStatus': {'Id': 1112, 'Name': 'Running'}, 'NextRun': None, 'Params': [{'JobId': 11111, 'Key': 'powerState', 'Value': '2'}, {'JobId': 11111, 'Key': 'operationName', 'Value': 'POWER_CONTROL'}], 'Schedule': '', 'StartTime': None, 'State': 'Enabled', 'Targets': [{'Data': '', 'Id': 11112, 'JobId': 11111, 'TargetType': {'Id': 1000, 'Name': 'DEVICE'}}], 'UpdatedBy': None, 'Visible': True}) Power state operation job and progress details from the OME. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_profile.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_profile.rst index e0b5f0eeb..8faf8b8fe 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_profile.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_profile.rst @@ -214,11 +214,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -236,7 +236,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. - ``assign`` operation on a already assigned profile will not redeploy. @@ -271,7 +271,7 @@ Examples name_prefix: "omam_profile" number_of_profiles: 1 boot_to_network_iso: - boot_to_network: True + boot_to_network: true share_type: NFS share_ip: "192.168.0.1" iso_path: "path/to/my_iso.iso" @@ -288,7 +288,7 @@ Examples name_prefix: "omam_profile" number_of_profiles: 1 boot_to_network_iso: - boot_to_network: True + boot_to_network: true share_type: CIFS share_ip: "192.168.0.2" share_user: "username" @@ -308,7 +308,7 @@ Examples new_name: "modified profile" description: "new description" boot_to_network_iso: - boot_to_network: True + boot_to_network: true share_type: NFS share_ip: "192.168.0.3" iso_path: "path/to/my_iso.iso" @@ -344,7 +344,7 @@ Examples ca_path: "/path/to/ca_cert.pem" command: "delete" filters: - SelectAll: True + SelectAll: true Filters: =contains(ProfileName,'Profile 00002') - name: Delete profiles using profile list filter @@ -369,7 +369,7 @@ Examples name: "Profile 00001" device_id: 12456 boot_to_network_iso: - boot_to_network: True + boot_to_network: true share_type: NFS share_ip: "192.168.0.1" iso_path: "path/to/my_iso.iso" @@ -383,10 +383,10 @@ Examples ShutdownType: 0 TimeToWaitBeforeShutdown: 300 EndHostPowerState: 1 - StrictCheckingVlan: True + StrictCheckingVlan: true Schedule: - RunNow: True - RunLater: False + RunNow: true + RunLater: false - name: Unassign a profile using profile name dellemc.openmanage.ome_profile: @@ -405,7 +405,7 @@ Examples ca_path: "/path/to/ca_cert.pem" command: "unassign" filters: - SelectAll: True + SelectAll: true Filters: =contains(ProfileName,'Profile 00003') - name: Unassign profiles using profile list filter @@ -449,7 +449,7 @@ job_id (when I(command) is C(assign), C(migrate) or C(unassign), int, 14123) ``assign`` and ``unassign`` operations do not trigger a task if a profile is auto-deployed. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_profile_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_profile_info.rst new file mode 100644 index 000000000..697a8c05f --- /dev/null +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_profile_info.rst @@ -0,0 +1,196 @@ +.. _ome_profile_info_module: + + +ome_profile_info -- Retrieve profiles with attribute details +============================================================ + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- + +This module retrieve profiles with attributes on OpenManage Enterprise or OpenManage Enterprise Modular. + + + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- python >= 3.9.6 + + + +Parameters +---------- + + profile_id (optional, int, None) + Id of the profile. + + This is mutually exclusive with *profile_name*, *system_query_options*, *template_id*, and *template_name*. + + + profile_name (optional, str, None) + Name of the profile. + + This is mutually exclusive with *template_id*, *profile_id*, *system_query_options*, and *template_name*. + + + template_id (optional, int, None) + Provide the ID of the template to retrieve the list of profile(s) linked to it. + + This is mutually exclusive with *profile_name*, *profile_id*, *system_query_options*, and *template_name*. + + + template_name (optional, str, None) + Provide the name of the template to retrieve the list of profile(s) linked to it. + + This is mutually exclusive with *profile_name*, *profile_id*, *template_id*, and *system_query_options*. + + + system_query_options (optional, dict, None) + Option for providing supported odata filters. + + The profile list can be fetched and sorted based on ProfileName, TemplateName, TargetTypeId, TargetName, ChassisName, ProfileState, LastRunStatus, or ProfileModified. + + This is mutually exclusive with *profile_name*, *profile_id*, *template_id*, and *template_name*. + + ``Note`` If *profile_name*, *profile_id*, *template_id*, or *template_name* option is not provided, the module retrieves all the profiles. + + + hostname (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular IP address or hostname. + + + username (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular username. + + + password (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular password. + + + port (optional, int, 443) + OpenManage Enterprise or OpenManage Enterprise Modular HTTPS port. + + + validate_certs (optional, bool, True) + 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. + + + ca_path (optional, path, None) + The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. + + + timeout (optional, int, 30) + The socket level timeout in seconds. + + + + + +Notes +----- + +.. note:: + - Run this module on a system that has direct access to Dell OpenManage Enterprise. + - This module supports ``check_mode``. + + + + +Examples +-------- + +.. code-block:: yaml+jinja + + + --- + - name: Retrieve all profiles + dellemc.openmanage.ome_profile_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + + - name: Retrieve profile using the name + dellemc.openmanage.ome_profile_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + profile_name: eprof 00001 + + - name: Retrieve profile using the id + dellemc.openmanage.ome_profile_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + profile_id: 10129 + + - name: Retrieve the profiles using the template name + dellemc.openmanage.ome_profile_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + template_name: t2 + + - name: Retrieve the profiles using the template id + dellemc.openmanage.ome_profile_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + template_id: 11 + + - name: Retrieve the profiles based on the odata filters + dellemc.openmanage.ome_profile_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + system_query_options: + filter: TemplateName eq 'mytemplate' + orderby: ProfileState + + + +Return Values +------------- + +msg (always, str, Successfully retrieved the profile information.) + Status of profile information retrieval. + + +profile_info (success, list, [{'Id': 71460, 'ProfileName': 'Profile 00001', 'ProfileDescription': 'from source template: (Template)', 'TemplateId': 8, 'TemplateName': 'Template', 'DataSchemaId': 8, 'TargetId': 0, 'TargetName': None, 'TargetTypeId': 0, 'DeviceIdInSlot': 0, 'ChassisId': 0, 'ChassisName': None, 'GroupId': 0, 'GroupName': None, 'NetworkBootToIso': None, 'ProfileState': 0, 'DeploymentTaskId': 0, 'LastRunStatus': 2200, 'ProfileModified': 0, 'CreatedBy': 'admin', 'EditedBy': None, 'CreatedDate': '2019-09-26 13:56:41.924966', 'LastEditDate': '2020-12-11 08:27:20.500564', 'LastDeployDate': '', 'AttributeIdMap': {'4965': {'Value': 'hostname', 'IsReadOnly': False, 'IsIgnored': True}, '4963': {'Value': 'second floor', 'IsReadOnly': False, 'IsIgnored': True}, '4960': {'Value': '10A', 'IsReadOnly': False, 'IsIgnored': True}, '4959': {'Value': 'OMAMDEV', 'IsReadOnly': False, 'IsIgnored': True}, '4957': {'Value': 'Dell LAB', 'IsReadOnly': False, 'IsIgnored': True}, '4958': {'Value': None, 'IsReadOnly': False, 'IsIgnored': True}, '4066': {'Value': None, 'IsReadOnly': False, 'IsIgnored': True}, '4231': {'Value': '1', 'IsReadOnly': False, 'IsIgnored': False}, '4229': {'Value': 'Disabled', 'IsReadOnly': False, 'IsIgnored': False}}, 'AttributeDetails': {'System': {'Server Operating System': {'ServerOS 1 Server Host Name': 4965}, 'Server Topology': {'ServerTopology 1 Room Name': 4963, 'ServerTopology 1 Rack Slot': 4960, 'ServerTopology 1 Rack Name': 4959, 'ServerTopology 1 Data Center Name': 4957, 'ServerTopology 1 Aisle Name': 4958}}, 'iDRAC': {'Active Directory': {'ActiveDirectory 1 Active Directory RAC Name': 4066}, 'NIC Information': {'NIC 1 VLAN ID': 4231, 'NIC 1 Enable VLAN': 4229}}}}]) + Information about the profile. + + +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) + Details of the HTTP Error. + + + + + +Status +------ + + + + + +Authors +~~~~~~~ + +- Jagadeesh N V(@jagadeeshnv) + diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_server_interface_profile_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_server_interface_profile_info.rst index 3531cb240..95cd95bd5 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_server_interface_profile_info.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_server_interface_profile_info.rst @@ -56,11 +56,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -120,11 +120,11 @@ msg (on success, str, Successfully retrieved the server interface profile inform Overall status of the server interface profile information. -server_profiles (success, list, [AnsibleMapping([('BondingTechnology', 'LACP'), ('Id', '6KZK6K2'), ('ServerInterfaceProfile', [AnsibleMapping([('FabricId', '1ea6bf64-3cf0-4e06-a136-5046d874d1e7'), ('Id', 'NIC.Mezzanine.1A-1-1'), ('NativeVLAN', 0), ('Networks', [AnsibleMapping([('CreatedBy', 'system'), ('CreationTime', '2018-11-27 10:22:14.140'), ('Description', 'VLAN 1'), ('Id', 10001), ('InternalRefNWUUId', 'add035b9-a971-400d-a3fa-bb365df1d476'), ('Name"', 'VLAN 1'), ('Type', 2), ('UpdatedBy', None), ('UpdatedTime', '2018-11-27 10:22:14.140'), ('VlanMaximum', 1), ('VlanMinimum', 1)])]), ('NicBonded', True), ('OnboardedPort', '59HW8X2:ethernet1/1/1')]), AnsibleMapping([('FabricId', '3ea6be04-5cf0-4e05-a136-5046d874d1e6'), ('Id', 'NIC.Mezzanine.1A-2-1'), ('NativeVLAN', 0), ('Networks', [AnsibleMapping([('CreatedBy', 'system'), ('CreationTime', '2018-09-25 14:46:12.374'), ('Description', None), ('Id', 10155), ('InternalRefNWUUId', 'f15a36b6-e3d3-46b2-9e7d-bf9cd66e180d'), ('Name', 'jagvlan'), ('Type', 1), ('UpdatedBy', None), ('UpdatedTime', '2018-09-25 14:46:12.374'), ('VlanMaximum', 143), ('VlanMinimum', 143)])]), ('NicBonded', False), ('OnboardedPort', '6H7J6Z2:ethernet1/1/1')])])])]) +server_profiles (success, list, [{'BondingTechnology': 'LACP', 'Id': '6KZK6K2', 'ServerInterfaceProfile': [{'FabricId': '1ea6bf64-3cf0-4e06-a136-5046d874d1e7', 'Id': 'NIC.Mezzanine.1A-1-1', 'NativeVLAN': 0, 'Networks': [{'CreatedBy': 'system', 'CreationTime': '2018-11-27 10:22:14.140', 'Description': 'VLAN 1', 'Id': 10001, 'InternalRefNWUUId': 'add035b9-a971-400d-a3fa-bb365df1d476', 'Name"': 'VLAN 1', 'Type': 2, 'UpdatedBy': None, 'UpdatedTime': '2018-11-27 10:22:14.140', 'VlanMaximum': 1, 'VlanMinimum': 1}], 'NicBonded': True, 'OnboardedPort': '59HW8X2:ethernet1/1/1'}, {'FabricId': '3ea6be04-5cf0-4e05-a136-5046d874d1e6', 'Id': 'NIC.Mezzanine.1A-2-1', 'NativeVLAN': 0, 'Networks': [{'CreatedBy': 'system', 'CreationTime': '2018-09-25 14:46:12.374', 'Description': None, 'Id': 10155, 'InternalRefNWUUId': 'f15a36b6-e3d3-46b2-9e7d-bf9cd66e180d', 'Name': 'jagvlan', 'Type': 1, 'UpdatedBy': None, 'UpdatedTime': '2018-09-25 14:46:12.374', 'VlanMaximum': 143, 'VlanMinimum': 143}], 'NicBonded': False, 'OnboardedPort': '6H7J6Z2:ethernet1/1/1'}]}]) Returns the information of collected server interface profile information. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_server_interface_profiles.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_server_interface_profiles.rst index c4f9f0f40..f70a50125 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_server_interface_profiles.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_server_interface_profiles.rst @@ -104,7 +104,7 @@ Parameters job_wait_timeout (optional, int, 120) The maximum wait time of *job_wait* in seconds. The job is tracked only for this duration. - This option is applicable when *job_wait* is ``True``. + This option is applicable when *job_wait* is ``true``. hostname (True, str, None) @@ -124,11 +124,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -147,7 +147,7 @@ Notes .. note:: - This module supports ``check_mode``. - - Run this module from a system that has direct access to Dell EMC OpenManage Enterprise Modular. + - Run this module from a system that has direct access to Dell OpenManage Enterprise Modular. @@ -171,13 +171,13 @@ Examples nic_teaming: LACP nic_configuration: - nic_identifier: NIC.Mezzanine.1A-1-1 - team: no + team: false untagged_network: 2 tagged_networks: names: - vlan1 - nic_identifier: NIC.Mezzanine.1A-2-1 - team: yes + team: true untagged_network: 3 tagged_networks: names: @@ -195,13 +195,13 @@ Examples nic_teaming: NoTeaming nic_configuration: - nic_identifier: NIC.Mezzanine.1A-1-1 - team: no + team: false untagged_network: 2 tagged_networks: names: - vlan2 - nic_identifier: NIC.Mezzanine.1A-2-1 - team: yes + team: true untagged_network: 3 tagged_networks: names: @@ -220,7 +220,7 @@ job_id (on applying the Interface profiles, int, 14123) Job ID of the task to apply the server interface profiles. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_smart_fabric.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_smart_fabric.rst index 1e6ddda5f..69e22ab98 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_smart_fabric.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_smart_fabric.rst @@ -92,11 +92,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -114,7 +114,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise Modular. + - Run this module from a system that has direct access to Dell OpenManage Enterprise Modular. - This module supports ``check_mode``. @@ -174,11 +174,11 @@ fabric_id (success, str, 1312cceb-c3dd-4348-95c1-d8541a17d776) Returns the ID when an fabric is created, modified or deleted. -additional_info (when I(state=present) and additional information present in response., dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('RelatedProperties', []), ('Message', 'Fabric update is successful. The OverrideLLDPConfiguration attribute is not provided in the payload, so it preserves the previous value.'), ('MessageArgs', []), ('Severity', 'Informational'), ('Resolution', 'Please update the Fabric with the OverrideLLDPConfiguration as Disabled or Enabled if necessary.')])])]))])) +additional_info (when I(state=present) and additional information present in response., dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'RelatedProperties': [], 'Message': 'Fabric update is successful. The OverrideLLDPConfiguration attribute is not provided in the payload, so it preserves the previous value.', 'MessageArgs': [], 'Severity': 'Informational', 'Resolution': 'Please update the Fabric with the OverrideLLDPConfiguration as Disabled or Enabled if necessary.'}]}}) Additional details of the fabric operation. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('RelatedProperties', []), ('Message', 'Unable to perform operation, because the fabric manager was not reachable.'), ('MessageArgs', []), ('Severity', 'Warning'), ('Resolution', 'Make sure of the following and retry the operation: 1) There is at least one advanced I/O Module in power-on mode. For example, MX9116n Ethernet Switch and MX5108n Ethernet Switch. However, if an advanced I/O Module is available in the power-on mode, make sure that the network profile is not set when the fabric manager is in the switch-over mode. 2) If the issue persists, wait for few minutes and retry the operation.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'RelatedProperties': [], 'Message': 'Unable to perform operation, because the fabric manager was not reachable.', 'MessageArgs': [], 'Severity': 'Warning', 'Resolution': 'Make sure of the following and retry the operation: 1) There is at least one advanced I/O Module in power-on mode. For example, MX9116n Ethernet Switch and MX5108n Ethernet Switch. However, if an advanced I/O Module is available in the power-on mode, make sure that the network profile is not set when the fabric manager is in the switch-over mode. 2) If the issue persists, wait for few minutes and retry the operation.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_smart_fabric_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_smart_fabric_info.rst new file mode 100644 index 000000000..ccad0973a --- /dev/null +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_smart_fabric_info.rst @@ -0,0 +1,148 @@ +.. _ome_smart_fabric_info_module: + + +ome_smart_fabric_info -- Retrieves the information of smart fabrics inventoried by OpenManage Enterprise Modular +================================================================================================================ + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- + +This module retrieves the list of smart fabrics in the inventory of OpenManage Enterprise Modular. + + + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- python >= 3.9.6 + + + +Parameters +---------- + + fabric_id (optional, str, None) + Unique Id of the fabric. + + *fabric_id* is mutually exclusive with *fabric_name*. + + + fabric_name (optional, str, None) + Name of the fabric. + + *fabric_name* is mutually exclusive with *fabric_id*. + + + hostname (True, str, None) + OpenManage Enterprise Modular IP address or hostname. + + + username (True, str, None) + OpenManage Enterprise Modular username. + + + password (True, str, None) + OpenManage Enterprise Modular password. + + + port (optional, int, 443) + OpenManage Enterprise Modular HTTPS port. + + + validate_certs (optional, bool, True) + 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. + + + ca_path (optional, path, None) + The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. + + + timeout (optional, int, 30) + The socket level timeout in seconds. + + + + + +Notes +----- + +.. note:: + - Run this module from a system that has direct access to Dell OpenManage Enterprise Modular. + - This module supports ``check_mode``. + + + + +Examples +-------- + +.. code-block:: yaml+jinja + + + --- + - name: Retrieve details of all smart fabrics + dellemc.openmanage.ome_smart_fabric_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + + - name: Retrieve details of a specific smart fabric identified by its fabric ID + dellemc.openmanage.ome_smart_fabric_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + fabric_id: "61c20a59-9ed5-4ae5-b850-5e5acf42d2f2" + + - name: Retrieve details of a specific smart fabric identified by its fabric name + dellemc.openmanage.ome_smart_fabric_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + fabric_name: "f1" + + + +Return Values +------------- + +msg (always, str, Successfully retrieved the smart fabric information.) + Status of smart fabric information retrieval. + + +smart_fabric_info (success, list, [{'Description': 'Fabric f1', 'FabricDesign': [{'Actions': {'#NetworkService.GetApplicableNodes': {'target': "/api/NetworkService/Fabrics('61c20a59-9ed5-4ae5-b850-5e5acf42d2f2')/FabricDesign/NetworkService.GetApplicableNodes"}, 'Oem': {}}, 'FabricDesignNode': [{'ChassisName': 'Chassis-X', 'NodeName': 'Switch-B', 'Slot': 'Slot-A2', 'Type': 'WeaverSwitch'}, {'ChassisName': 'Chassis-X', 'NodeName': 'Switch-A', 'Slot': 'Slot-A1', 'Type': 'WeaverSwitch'}], 'Name': '2xMX9116n_Fabric_Switching_Engines_in_same_chassis', 'NetworkLink': [{'DestinationInterface': 'ethernet1/1/38', 'DestinationNode': 'Switch-B', 'SourceInterface': 'ethernet1/1/38', 'SourceNode': 'Switch-A'}, {'DestinationInterface': 'ethernet1/1/37', 'DestinationNode': 'Switch-B', 'SourceInterface': 'ethernet1/1/37', 'SourceNode': 'Switch-A'}, {'DestinationInterface': 'ethernet1/1/39', 'DestinationNode': 'Switch-B', 'SourceInterface': 'ethernet1/1/39', 'SourceNode': 'Switch-A'}, {'DestinationInterface': 'ethernet1/1/40', 'DestinationNode': 'Switch-B', 'SourceInterface': 'ethernet1/1/40', 'SourceNode': 'Switch-A'}]}], 'FabricDesignMapping': [{'DesignNode': 'Switch-A', 'PhysicalNode': 'NODEID1'}, {'DesignNode': 'Switch-B', 'PhysicalNode': 'NODEID2'}], 'Health': {'Issues': [{'Category': 'Audit', 'DetailedDescription': 'The SmartFabric is not healthy because the interface for an uplink mentioned in the message is not in operational status.', 'Message': 'The SmartFabric is not healthy because the interface JRWSV43:ethernet1/1/35 for uplink 1ad54420-b145-49a1-9779-21a579ef6f2d is not in operational status.', 'MessageArgs': [], 'MessageId': 'NFAB0016', 'Resolution': 'Make sure that all the uplink interfaces are in operational status.', 'Severity': 'Warning', 'TimeStamp': '2019-09-25T11:50:06Z'}, {'Category': 'Audit', 'DetailedDescription': 'The SmartFabric is not healthy because one or more VLTi links are not connected.', 'Message': 'The SmartFabric is not healthy because all InterSwitch Links are not connected.', 'MessageArgs': [], 'MessageId': 'NFAB0017', 'Resolution': 'Make sure that the VLTi cables for all ISLs are connected and operational as per the selected fabric design.', 'Severity': 'Warning', 'TimeStamp': '2019-09-25T11:50:06Z'}, {'Category': 'Audit', 'DetailedDescription': 'The SmartFabric is not healthy because the interface for an uplink mentioned in the message is not in operational status.', 'Message': 'The SmartFabric is not healthy because the interface 6H7J6Z2:ethernet1/1/35 for uplink 1ad54420-b145-49a1-9779-21a579ef6f2d is not in operational status.', 'MessageArgs': [], 'MessageId': 'NFAB0016', 'Resolution': 'Make sure that all the uplink interfaces are in operational status.', 'Severity': 'Warning', 'TimeStamp': '2019-09-25T11:50:06Z'}, {'Category': 'Audit', 'DetailedDescription': 'The SmartFabric is not healthy because one or more of the uplink interfaces are not bonded.', 'Message': 'The SmartFabric is not healthy because the uplink 1ad54420-b145-49a1-9779-21a579ef6f2d interface 6H7J6Z2:ethernet1/1/35 is not bonded to the other interfaces in the uplink.', 'MessageArgs': [], 'MessageId': 'NFAB0019', 'Resolution': 'Make sure that the Link Aggregation Control Protocol (LACP) is enabled on all ports on the remote switch to which the uplink ports from the fabric are connected.', 'Severity': 'Warning', 'TimeStamp': '2019-09-25T11:50:06Z'}, {'Category': 'Audit', 'DetailedDescription': 'The SmartFabric is not healthy because one or more of the uplink interfaces are not bonded.', 'Message': 'The SmartFabric is not healthy because the uplink 1ad54420-b145-49a1-9779-21a579ef6f2d interface JRWSV43:ethernet1/1/35 is not bonded to the other interfaces in the uplink.', 'MessageArgs': [], 'MessageId': 'NFAB0019', 'Resolution': 'Make sure that the Link Aggregation Control Protocol (LACP) is enabled on all ports on the remote switch to which the uplink ports from the fabric are connected.', 'Severity': 'Warning', 'TimeStamp': '2019-09-25T11:50:06Z'}], 'Status': '4000'}, 'Id': '61c20a59-9ed5-4ae5-b850-5e5acf42d2f2', 'LifeCycleStatus': [{'Activity': 'Create', 'Status': '2060'}], 'Multicast': [{'FloodRestrict': True, 'IgmpVersion': '3', 'MldVersion': '2'}], 'Name': 'f1', 'OverrideLLDPConfiguration': 'Disabled', 'ScaleVLANProfile': 'Enabled', 'Servers': [{'ChassisServiceTag': '6H5S6Z2', 'ConnectionState': True, 'ConnectionStateReason': 101, 'DeviceCapabilities': [1, 2, 3, 4, 7, 8, 9, 41, 10, 11, 12, 13, 14, 15, 208, 16, 17, 18, 212, 30, 31], 'DeviceManagement': [{'DnsName': 'iDRAC-6GZK6Z2', 'InstrumentationName': '', 'MacAddress': '4c:d9:8f:7a:7c:43', 'ManagementId': 135185, 'ManagementProfile': [{'AgentName': 'iDRAC', 'HasCreds': 0, 'ManagementId': 135185, 'ManagementProfileId': 135185, 'ManagementURL': 'https://[2607:f2b1:f081:9:4ed9:8fff:fe7a:7c43]:443/', 'ProfileId': 'WSMAN_OOB', 'Status': 1000, 'StatusDateTime': '2019-10-29 09:30:38.552', 'Version': '3.20.21.20'}], 'ManagementType': 2, 'NetworkAddress': '100.96.24.28'}, {'DnsName': 'iDRAC-6GZK6Z2', 'InstrumentationName': '', 'MacAddress': '4c:d9:8f:7a:7c:43', 'ManagementId': 135186, 'ManagementProfile': [{'AgentName': 'iDRAC', 'HasCreds': 0, 'ManagementId': 135186, 'ManagementProfileId': 135186, 'ManagementURL': 'https://[2607:f2b1:f081:9:4ed9:8fff:fe7a:7c43]:443/', 'ProfileId': 'WSMAN_OOB', 'Status': 1000, 'StatusDateTime': '2019-10-29 09:30:38.552', 'Version': '3.20.21.20'}], 'ManagementType': 2, 'NetworkAddress': '[2607:f2b1:f081:9:4ed9:8fff:fe7a:7c43]'}], 'DeviceName': 'MX-6H5S6Z2:Sled-1', 'DeviceServiceTag': '6GZK6Z2', 'Enabled': True, 'Id': 10071, 'Identifier': '6GZK6Z2', 'LastInventoryTime': '2019-10-29 09:30:38.552', 'LastStatusTime': '2019-10-29 09:41:51.051', 'ManagedState': 3000, 'Model': 'PowerEdge MX840c', 'PowerState': 17, 'SlotConfiguration': {'ChassisId': '10072', 'ChassisName': 'MX-6H5S6Z2', 'ChassisServiceTag': '6H5S6Z2', 'DeviceType': '1000', 'SledBlockPowerOn': 'None blocking', 'SlotId': '10084', 'SlotName': 'Sled-1', 'SlotNumber': '1', 'SlotType': '2000'}, 'Status': 1000, 'SystemId': 1894, 'Type': 1000}], 'Summary': {'NodeCount': 2, 'ServerCount': 1, 'UplinkCount': 1}, 'Switches': [{'ChassisServiceTag': '6H5S6Z2', 'ConnectionState': True, 'ConnectionStateReason': 101, 'DeviceCapabilities': [1, 2, 3, 5, 7, 8, 9, 207, 18, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], 'DeviceManagement': [{'DnsName': '', 'InstrumentationName': 'MX9116n Fabric Engine', 'MacAddress': '20:04:0F:4F:4E:04', 'ManagementId': 135181, 'ManagementProfile': [{'HasCreds': 0, 'ManagementId': 135181, 'ManagementProfileId': 135181, 'ManagementURL': '', 'ProfileId': '', 'Status': 1000, 'StatusDateTime': '2019-10-29 09:30:36.273'}], 'ManagementType': 2, 'NetworkAddress': '100.96.24.36'}, {'DnsName': '', 'InstrumentationName': 'MX9116n Fabric Engine', 'MacAddress': '20:04:0F:4F:4E:04', 'ManagementId': 135182, 'ManagementProfile': [{'HasCreds': 0, 'ManagementId': 135182, 'ManagementProfileId': 135182, 'ManagementURL': '', 'ProfileId': '', 'Status': 1000, 'StatusDateTime': '2019-10-29 09:30:36.273'}], 'ManagementType': 2, 'NetworkAddress': ''}], 'DeviceName': 'MX-6H5S6Z2:IOM-A2', 'DeviceServiceTag': '6H7J6Z2', 'Enabled': True, 'Id': 10074, 'Identifier': '6H7J6Z2', 'LastInventoryTime': '2019-10-29 09:30:36.332', 'LastStatusTime': '2019-10-29 09:31:00.931', 'ManagedState': 3000, 'Model': 'MX9116n Fabric Engine', 'PowerState': 17, 'SlotConfiguration': {'ChassisId': '10072', 'ChassisName': 'MX-6H5S6Z2', 'ChassisServiceTag': '6H5S6Z2', 'DeviceType': '4000', 'SledBlockPowerOn': 'null', 'SlotId': '10079', 'SlotName': 'IOM-A2', 'SlotNumber': '2', 'SlotType': '4000'}, 'Status': 1000, 'SystemId': 2031, 'Type': 4000}, {'ChassisServiceTag': '6H5S6Z2', 'ConnectionState': True, 'ConnectionStateReason': 101, 'DeviceCapabilities': [1, 2, 3, 5, 7, 8, 9, 207, 18, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622], 'DeviceManagement': [{'DnsName': '', 'InstrumentationName': 'MX9116n Fabric Engine', 'MacAddress': 'E8:B5:D0:52:61:46', 'ManagementId': 135183, 'ManagementProfile': [{'HasCreds': 0, 'ManagementId': 135183, 'ManagementProfileId': 135183, 'ManagementURL': '', 'ProfileId': '', 'Status': 1000, 'StatusDateTime': '2019-10-29 09:30:37.115'}], 'ManagementType': 2, 'NetworkAddress': '100.96.24.37'}, {'DnsName': '', 'InstrumentationName': 'MX9116n Fabric Engine', 'MacAddress': 'E8:B5:D0:52:61:46', 'ManagementId': 135184, 'ManagementProfile': [{'HasCreds': 0, 'ManagementId': 135184, 'ManagementProfileId': 135184, 'ManagementURL': '', 'ProfileId': '', 'Status': 1000, 'StatusDateTime': '2019-10-29 09:30:37.115'}], 'ManagementType': 2, 'NetworkAddress': ''}], 'DeviceName': 'MX-6H5S6Z2:IOM-A1', 'DeviceServiceTag': 'JRWSV43', 'Enabled': True, 'Id': 20881, 'Identifier': 'JRWSV43', 'LastInventoryTime': '2019-10-29 09:30:37.172', 'LastStatusTime': '2019-10-29 09:31:00.244', 'ManagedState': 3000, 'Model': 'MX9116n Fabric Engine', 'PowerState': 17, 'SlotConfiguration': {'ChassisId': '10072', 'ChassisName': 'MX-6H5S6Z2', 'ChassisServiceTag': '6H5S6Z2', 'DeviceType': '4000', 'SledBlockPowerOn': 'null', 'SlotId': '10078', 'SlotName': 'IOM-A1', 'SlotNumber': '1', 'SlotType': '4000'}, 'Status': 1000, 'SystemId': 2031, 'Type': 4000}], 'Uplinks': [{'Id': '1ad54420-b145-49a1-9779-21a579ef6f2d', 'MediaType': 'Ethernet', 'Name': 'u1', 'NativeVLAN': 1, 'Summary': {'NetworkCount': 1, 'PortCount': 2}, 'UfdEnable': 'Disabled'}]}]) + Returns the information about smart fabric. + + +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'CGEN1006', 'RelatedProperties': [], 'Message': 'Unable to complete the request because the resource URI does not exist or is not implemented.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': "Check the request resource URI. Refer to the OpenManage Enterprise-Modular User's Guide for more information about resource URI and its properties."}]}}) + Details of the HTTP Error. + + + + + +Status +------ + + + + + +Authors +~~~~~~~ + +- Kritika Bhateja(@Kritka-Bhateja) + diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_smart_fabric_uplink.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_smart_fabric_uplink.rst index 83ddfcdca..fa691dd07 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_smart_fabric_uplink.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_smart_fabric_uplink.rst @@ -108,11 +108,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -130,7 +130,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise Modular. + - Run this module from a system that has direct access to Dell OpenManage Enterprise Modular. - This module supports ``check_mode``. @@ -266,11 +266,11 @@ uplink_id (when I(state=present), str, ddc3d260-fd71-46a1-97f9-708e12345678) Returns the ID when an uplink is created or modified. -additional_info (when I(state=present) and additional information present in response., dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Unable to configure the Uplink Failure Detection mode on the uplink because the firmware version of the I/O Module running the Fabric Manager does not support the configuration feature.'), ('MessageArgs', []), ('MessageId', 'CDEV7151'), ('RelatedProperties', []), ('Resolution', "Update the firmware version of the I/O Module running the Fabric Manager and retry the operation. For information about the recommended I/O Module firmware versions, see the OpenManage Enterprise-Modular User's Guide available on the support site."), ('Severity', 'Informational')])]), ('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.')]))])) +additional_info (when I(state=present) and additional information present in response., dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to configure the Uplink Failure Detection mode on the uplink because the firmware version of the I/O Module running the Fabric Manager does not support the configuration feature.', 'MessageArgs': [], 'MessageId': 'CDEV7151', 'RelatedProperties': [], 'Resolution': "Update the firmware version of the I/O Module running the Fabric Manager and retry the operation. For information about the recommended I/O Module firmware versions, see the OpenManage Enterprise-Modular User's Guide available on the support site.", 'Severity': 'Informational'}], 'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}}) Additional details of the fabric operation. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'CGEN1006'), ('RelatedProperties', []), ('Message', 'Unable to complete the request because the resource URI does not exist or is not implemented.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', "Check the request resource URI. Refer to the OpenManage Enterprise-Modular User's Guide for more information about resource URI and its properties.")])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'CGEN1006', 'RelatedProperties': [], 'Message': 'Unable to complete the request because the resource URI does not exist or is not implemented.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': "Check the request resource URI. Refer to the OpenManage Enterprise-Modular User's Guide for more information about resource URI and its properties."}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_smart_fabric_uplink_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_smart_fabric_uplink_info.rst new file mode 100644 index 000000000..96a111bcb --- /dev/null +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_smart_fabric_uplink_info.rst @@ -0,0 +1,175 @@ +.. _ome_smart_fabric_uplink_info_module: + + +ome_smart_fabric_uplink_info -- Retrieve details of fabric uplink on OpenManage Enterprise Modular. +=================================================================================================== + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- + +This module retrieve details of fabric uplink on OpenManage Enterprise Modular. + + + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- python >= 3.9.6 + + + +Parameters +---------- + + fabric_id (optional, str, None) + Unique id of the fabric. + + *fabric_id* is mutually exclusive with *fabric_name*. + + + fabric_name (optional, str, None) + Unique name of the fabric. + + *fabric_name* is mutually exclusive with *fabric_id*. + + + uplink_id (optional, str, None) + Unique id of the uplink. + + *uplink_id* is mutually exclusive with *uplink_name*. + + *fabric_id* or *fabric_name* is required along with *uplink_id*. + + + uplink_name (optional, str, None) + Unique name of the uplink. + + *uplink_name* is mutually exclusive with *uplink_id*. + + *fabric_id* or *fabric_name* is required along with *uplink_name*. + + + hostname (True, str, None) + OpenManage Enterprise Modular IP address or hostname. + + + username (True, str, None) + OpenManage Enterprise Modular username. + + + password (True, str, None) + OpenManage Enterprise Modular password. + + + port (optional, int, 443) + OpenManage Enterprise Modular HTTPS port. + + + validate_certs (optional, bool, True) + 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. + + + ca_path (optional, path, None) + The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. + + + timeout (optional, int, 30) + The socket level timeout in seconds. + + + + + +Notes +----- + +.. note:: + - Run this module from a system that has direct access to Dell OpenManage Enterprise Modular. + - This module supports ``check_mode``. + + + + +Examples +-------- + +.. code-block:: yaml+jinja + + + --- + - name: Retrieve all fabric uplink information using fabric_id. + dellemc.openmanage.ome_smart_fabric_uplink_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + fabric_id: "61c20a59-9ed5-4ae5-b850-5e5acf42d2f2" + + - name: Retrieve all fabric uplink information using fabric_name. + dellemc.openmanage.ome_smart_fabric_uplink_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + fabric_name: "f1" + + - name: Retrieve specific fabric information using uplink_id. + dellemc.openmanage.ome_smart_fabric_uplink_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + fabric_id: "61c20a59-9ed5-4ae5-b850-5e5acf42d2f2" + uplink_id: "1ad54420-b145-49a1-9779-21a579ef6f2d" + + - name: Retrieve specific fabric information using uplink_name. + dellemc.openmanage.ome_smart_fabric_uplink_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + fabric_id: "61c20a59-9ed5-4ae5-b850-5e5acf42d2f2" + uplink_name: "u1" + + + +Return Values +------------- + +msg (always, str, Successfully retrieved the fabric uplink information.) + Status of fabric uplink information retrieval. + + +uplink_info (on success, list, [{'Description': '', 'Id': '1ad54420-b145-49a1-9779-21a579ef6f2d', 'MediaType': 'Ethernet', 'Name': 'u1', 'NativeVLAN': 1, 'Networks': [{'CreatedBy': 'system', 'CreationTime': '2018-09-25 14:46:12.374', 'Description': None, 'Id': 10155, 'InternalRefNWUUId': 'f15a36b6-e3d3-46b2-9e7d-bf9cd66e180d', 'Name': 'testvlan', 'Type': 1, 'UpdatedBy': 'root', 'UpdatedTime': '2019-06-27 15:06:22.836', 'VlanMaximum': 143, 'VlanMinimum': 143}], 'Ports': [{'AdminStatus': 'Enabled', 'BlinkStatus': 'OFF', 'ConfiguredSpeed': '0', 'CurrentSpeed': '0', 'Description': '', 'Id': 'SVCTAG1:ethernet1/1/35', 'MaxSpeed': '0', 'MediaType': 'Ethernet', 'Name': '', 'NodeServiceTag': 'SVCTAG1', 'OpticsType': 'NotPresent', 'PortNumber': 'ethernet1/1/35', 'Role': 'Uplink', 'Status': 'Down', 'Type': 'PhysicalEthernet'}, {'AdminStatus': 'Enabled', 'BlinkStatus': 'OFF', 'ConfiguredSpeed': '0', 'CurrentSpeed': '0', 'Description': '', 'Id': 'SVCTAG1:ethernet1/1/35', 'MaxSpeed': '0', 'MediaType': 'Ethernet', 'Name': '', 'NodeServiceTag': 'SVCTAG1', 'OpticsType': 'NotPresent', 'PortNumber': 'ethernet1/1/35', 'Role': 'Uplink', 'Status': 'Down', 'Type': 'PhysicalEthernet'}], 'Summary': {'NetworkCount': 1, 'PortCount': 2}, 'UfdEnable': 'Disabled'}]) + Information about the fabric uplink. + + +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'CGEN1006', 'RelatedProperties': [], 'Message': 'Unable to complete the request because the resource URI does not exist or is not implemented.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': "Check the request resource URI. Refer to the OpenManage Enterprise-Modular User's Guide for more information about resource URI and its properties."}]}}) + Details of the HTTP Error. + + + + + +Status +------ + + + + + +Authors +~~~~~~~ + +- Husniya Hameed(@husniya_hameed) + diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_template.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_template.rst index 5b58dffc4..409d2f7e8 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_template.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_template.rst @@ -46,7 +46,7 @@ Parameters template_id (optional, int, None) ID of the existing template. - This option is applicable when *command* is ``modify``, ``deploy``, ``delete`` and ``export``. + This option is applicable when *command* is ``modify``, ``deploy``, ``delete``, ``clone`` and ``export``. This option is mutually exclusive with *template_name*. @@ -54,7 +54,7 @@ Parameters template_name (optional, str, None) Name of the existing template. - This option is applicable when *command* is ``modify``, ``deploy``, ``delete`` and ``export``. + This option is applicable when *command* is ``modify``, ``deploy``, ``delete``, ``clone`` and ``export``. This option is mutually exclusive with *template_id*. @@ -109,6 +109,18 @@ Parameters Refer OpenManage Enterprise API Reference Guide for more details. + job_wait (optional, bool, True) + Provides the option to wait for job completion. + + This option is applicable when *command* is ``create``, or ``deploy``. + + + job_wait_timeout (optional, int, 1200) + The maximum wait time of *job_wait* in seconds. The job is tracked only for this duration. + + This option is applicable when *job_wait* is ``true``. + + hostname (True, str, None) OpenManage Enterprise or OpenManage Enterprise Modular IP address or hostname. @@ -126,11 +138,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -148,7 +160,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -215,7 +227,7 @@ Examples - name: Deploy template on multiple devices dellemc.openmanage.ome_template: - hostname: "192.168.0.1" + hostname: "192.168.0.1" username: "username" password: "password" ca_path: "/path/to/ca_cert.pem" @@ -230,7 +242,7 @@ Examples - name: Deploy template on groups dellemc.openmanage.ome_template: - hostname: "192.168.0.1" + hostname: "192.168.0.1" username: "username" password: "password" ca_path: "/path/to/ca_cert.pem" @@ -242,7 +254,7 @@ Examples - name: Deploy template on multiple devices along with the attributes values to be modified on the target devices dellemc.openmanage.ome_template: - hostname: "192.168.0.1" + hostname: "192.168.0.1" username: "username" password: "password" ca_path: "/path/to/ca_cert.pem" @@ -263,18 +275,18 @@ Examples # Service tags not allowed. - DeviceId: 12765 Attributes: - - Id : 15645 - Value : "0.0.0.0" - IsIgnored : false + - Id: 15645 + Value: "0.0.0.0" + IsIgnored: false - DeviceId: 10173 Attributes: - - Id : 18968, - Value : "hostname-1" - IsIgnored : false + - Id: 18968, + Value: "hostname-1" + IsIgnored: false - name: Deploy template and Operating System (OS) on multiple devices dellemc.openmanage.ome_template: - hostname: "192.168.0.1" + hostname: "192.168.0.1" username: "username" password: "password" ca_path: "/path/to/ca_cert.pem" @@ -308,7 +320,7 @@ Examples - name: "Deploy template on multiple devices and changes the device-level attributes. After the template is deployed, install OS using its image" dellemc.openmanage.ome_template: - hostname: "192.168.0.1" + hostname: "192.168.0.1" username: "username" password: "password" ca_path: "/path/to/ca_cert.pem" @@ -324,14 +336,14 @@ Examples Attributes: - DeviceId: 12765 Attributes: - - Id : 15645 - Value : "0.0.0.0" - IsIgnored : false + - Id: 15645 + Value: "0.0.0.0" + IsIgnored: false - DeviceId: 10173 Attributes: - - Id : 18968, - Value : "hostname-1" - IsIgnored : false + - Id: 18968, + Value: "hostname-1" + IsIgnored: false NetworkBootIsoModel: BootToNetwork: true ShareType: "NFS" @@ -488,6 +500,19 @@ Examples Content: "{{ lookup('ansible.builtin.file', './test.xml') }}" Type: 2 + - name: Create a template from a reference device with Job wait as false + dellemc.openmanage.ome_template: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + device_id: 25123 + attributes: + Name: "New Template" + Description: "New Template description" + Fqdds: iDRAC,BIOS, + job_wait: false + Return Values @@ -522,11 +547,11 @@ Content (success, when I(command) is C(export), str, <SystemConfiguration Model= XML content of the exported template. This content can be written to a xml file. -devices_assigned (I(command) is C(deploy), dict, AnsibleMapping([('10362', 28), ('10312', 23)])) +devices_assigned (I(command) is C(deploy), dict, {'10362': 28, '10312': 23}) Mapping of devices with the templates already deployed on them. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. @@ -544,4 +569,6 @@ Authors ~~~~~~~ - Jagadeesh N V (@jagadeeshnv) +- Husniya Hameed (@husniya_hameed) +- Kritika Bhateja (@Kritika-Bhateja) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_template_identity_pool.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_template_identity_pool.rst index 3210a8da8..64a63b477 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_template_identity_pool.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_template_identity_pool.rst @@ -52,11 +52,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -74,7 +74,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -113,7 +113,7 @@ msg (always, str, Successfully attached identity pool to template.) Overall identity pool status of the attach or detach operation. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.'), ('@Message.ExtendedInfo', [AnsibleMapping([('MessageId', 'GEN1234'), ('RelatedProperties', []), ('Message', 'Unable to process the request because an error occurred.'), ('MessageArgs', []), ('Severity', 'Critical'), ('Resolution', 'Retry the operation. If the issue persists, contact your system administrator.')])])]))])) +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_template_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_template_info.rst index 72e0b6d96..d1da26467 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_template_info.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_template_info.rst @@ -57,11 +57,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -79,7 +79,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -125,7 +125,7 @@ msg (on error, str, Failed to fetch the template facts) Overall template facts status. -template_info (success, dict, AnsibleMapping([('192.168.0.1', AnsibleMapping([('CreatedBy', 'system'), ('CreationTime', '1970-01-31 00:00:56.372144'), ('Description', 'Tune workload for Performance Optimized Virtualization'), ('HasIdentityAttributes', False), ('Id', 1), ('IdentityPoolId', 0), ('IsBuiltIn', True), ('IsPersistencePolicyValid', False), ('IsStatelessAvailable', False), ('LastUpdatedBy', None), ('LastUpdatedTime', '1970-01-31 00:00:56.372144'), ('Name', 'iDRAC Enable Performance Profile for Virtualization'), ('SourceDeviceId', 0), ('Status', 0), ('TaskId', 0), ('TypeId', 2), ('ViewTypeId', 4)]))])) +template_info (success, dict, {'192.168.0.1': {'CreatedBy': 'system', 'CreationTime': '1970-01-31 00:00:56.372144', 'Description': 'Tune workload for Performance Optimized Virtualization', 'HasIdentityAttributes': False, 'Id': 1, 'IdentityPoolId': 0, 'IsBuiltIn': True, 'IsPersistencePolicyValid': False, 'IsStatelessAvailable': False, 'LastUpdatedBy': None, 'LastUpdatedTime': '1970-01-31 00:00:56.372144', 'Name': 'iDRAC Enable Performance Profile for Virtualization', 'SourceDeviceId': 0, 'Status': 0, 'TaskId': 0, 'TypeId': 2, 'ViewTypeId': 4}}) Details of the templates. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_template_network_vlan.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_template_network_vlan.rst index 6d2752fca..89d908556 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_template_network_vlan.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_template_network_vlan.rst @@ -120,11 +120,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -142,7 +142,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -217,7 +217,7 @@ msg (always, str, Successfully applied the network settings to template.) Overall status of the template vlan operation. -error_info (on HTTP error, dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Unable to complete the request because TemplateId does not exist or is not applicable for the resource URI.'), ('MessageArgs', ['TemplateId']), ('MessageId', 'CGEN1004'), ('RelatedProperties', []), ('Resolution', "Check the request resource URI. Refer to the OpenManage Enterprise-Modular User's Guide for more information about resource URI and its properties."), ('Severity', 'Critical')])]), ('code', 'Base.1.0.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.')]))])) +error_info (on HTTP error, dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to complete the request because TemplateId does not exist or is not applicable for the resource URI.', 'MessageArgs': ['TemplateId'], 'MessageId': 'CGEN1004', 'RelatedProperties': [], 'Resolution': "Check the request resource URI. Refer to the OpenManage Enterprise-Modular User's Guide for more information about resource URI and its properties.", 'Severity': 'Critical'}], 'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}}) Details of the HTTP Error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_template_network_vlan_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_template_network_vlan_info.rst new file mode 100644 index 000000000..6d5c9fad8 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_template_network_vlan_info.rst @@ -0,0 +1,150 @@ +.. _ome_template_network_vlan_info_module: + + +ome_template_network_vlan_info -- Retrieves network configuration of template. +============================================================================== + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- + +This module retrieves the network configuration of a template on OpenManage Enterprise or OpenManage Enterprise Modular. + + + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- python >= 3.9.6 + + + +Parameters +---------- + + template_id (optional, int, None) + Id of the template. + + This is mutually exclusive with *template_name*. + + + template_name (optional, str, None) + Name of the template. + + This is mutually exclusive with *template_id*. + + ``Note`` If *template_id* or *template_name* option is not provided, the module retrieves network VLAN info of all templates. + + + hostname (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular IP address or hostname. + + + username (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular username. + + + password (True, str, None) + OpenManage Enterprise or OpenManage Enterprise Modular password. + + + port (optional, int, 443) + OpenManage Enterprise or OpenManage Enterprise Modular HTTPS port. + + + validate_certs (optional, bool, True) + 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. + + + ca_path (optional, path, None) + The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. + + + timeout (optional, int, 30) + The socket level timeout in seconds. + + + + + +Notes +----- + +.. note:: + - Run this module on a system that has direct access to Dell OpenManage Enterprise. + - This module supports ``check_mode``. + + + + +Examples +-------- + +.. code-block:: yaml+jinja + + + --- + - name: Retrieve network details of all templates. + dellemc.openmanage.ome_template_network_vlan_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + + - name: Retrieve network details using template ID + dellemc.openmanage.ome_template_network_vlan_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + template_id: 1234 + + - name: Retrieve network details using template name + dellemc.openmanage.ome_template_network_vlan_info: + hostname: "192.168.0.1" + username: "username" + password: "password" + ca_path: "/path/to/ca_cert.pem" + template_name: template1 + + + +Return Values +------------- + +msg (always, str, Successfully retrieved the template network VLAN information.) + Status of template VLAN information retrieval. + + +vlan_info (success, list, [{'TemplateId': 58, 'TemplateName': 't2', 'NicBondingTechnology': 'LACP', 'NicModel': {'NIC in Mezzanine 1B': {'1': {'Port': 1, 'Vlan Tagged': ['25367', '32656', '32658', '26898'], 'Vlan UnTagged': '21474', 'NICBondingEnabled': 'false'}, '2': {'Port': 2, 'Vlan Tagged': [], 'Vlan UnTagged': '32658', 'NIC Bonding Enabled': 'true'}}, 'NIC in Mezzanine 1A': {'1': {'Port': 1, 'Vlan Tagged': ['32656', '32658'], 'Vlan UnTagged': '25367', 'NIC Bonding Enabled': 'true'}, '2': {'Port': 2, 'Vlan Tagged': ['21474'], 'Vlan UnTagged': '32656', 'NIC Bonding Enabled': 'false'}}}}]) + Information about the template network VLAN. + + +error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}}) + Details of the HTTP Error. + + + + + +Status +------ + + + + + +Authors +~~~~~~~ + +- Jagadeesh N V(@jagadeeshnv) + diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_user.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_user.rst index 4e46c91fc..908640f5e 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_user.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_user.rst @@ -47,7 +47,7 @@ Parameters Either *user_id* or *name* is mandatory for ``absent`` operation. - attributes (optional, dict, AnsibleMapping()) + attributes (optional, dict, {}) Payload data for the user operations. It can take the following attributes for ``present``. UserTypeId, DirectoryServiceId, Description, Name, Password, UserName, RoleId, Locked, Enabled. @@ -74,11 +74,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -96,7 +96,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module does not support ``check_mode``. @@ -119,7 +119,7 @@ Examples UserName: "user1" Password: "UserPassword" RoleId: "10" - Enabled: True + Enabled: true - name: Create user with all parameters dellemc.openmanage.ome_user: @@ -132,10 +132,10 @@ Examples Description: "user2 description" Password: "UserPassword" RoleId: "10" - Enabled: True + Enabled: true DirectoryServiceId: 0 UserTypeId: 1 - Locked: False + Locked: false Name: "user2" - name: Modify existing user @@ -148,7 +148,7 @@ Examples attributes: UserName: "user3" RoleId: "10" - Enabled: True + Enabled: true Description: "Modify user Description" - name: Delete existing user using id @@ -178,7 +178,7 @@ msg (always, str, Successfully created a User) Overall status of the user operation. -user_status (When I(state) is C(present)., dict, AnsibleMapping([('Description', 'Test user creation'), ('DirectoryServiceId', 0), ('Enabled', True), ('Id', '61546'), ('IsBuiltin', False), ('Locked', False), ('Name', 'test'), ('Password', None), ('PlainTextPassword', None), ('RoleId', '10'), ('UserName', 'test'), ('UserTypeId', 1)])) +user_status (When I(state) is C(present)., dict, {'Description': 'Test user creation', 'DirectoryServiceId': 0, 'Enabled': True, 'Id': '61546', 'IsBuiltin': False, 'Locked': False, 'Name': 'test', 'Password': None, 'PlainTextPassword': None, 'RoleId': '10', 'UserName': 'test', 'UserTypeId': 1}) Details of the user operation, when *state* is ``present``. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/ome_user_info.rst b/ansible_collections/dellemc/openmanage/docs/modules/ome_user_info.rst index 80e8250d1..ba0043f28 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/ome_user_info.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/ome_user_info.rst @@ -57,11 +57,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -79,7 +79,7 @@ Notes ----- .. note:: - - Run this module from a system that has direct access to DellEMC OpenManage Enterprise. + - Run this module from a system that has direct access to Dell OpenManage Enterprise. - This module supports ``check_mode``. @@ -125,7 +125,7 @@ msg (on error, str, Unable to retrieve the account details.) Over all status of fetching user facts. -user_info (success, dict, AnsibleMapping([('192.168.0.1', AnsibleMapping([('Id', '1814'), ('UserTypeId', 1), ('DirectoryServiceId', 0), ('Description', 'user name description'), ('Name', 'user_name'), ('Password', None), ('UserName', 'user_name'), ('RoleId', '10'), ('Locked', False), ('IsBuiltin', True), ('Enabled', True)]))])) +user_info (success, dict, {'192.168.0.1': {'Id': '1814', 'UserTypeId': 1, 'DirectoryServiceId': 0, 'Description': 'user name description', 'Name': 'user_name', 'Password': None, 'UserName': 'user_name', 'RoleId': '10', 'Locked': False, 'IsBuiltin': True, 'Enabled': True}}) Details of the user. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/redfish_event_subscription.rst b/ansible_collections/dellemc/openmanage/docs/modules/redfish_event_subscription.rst index d5fe2c96f..0ea5da0d6 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/redfish_event_subscription.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/redfish_event_subscription.rst @@ -68,11 +68,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -146,11 +146,11 @@ msg (always, str, Successfully added the subscription.) Overall status of the task. -status (on adding subscription successfully, dict, AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'The resource has been created successfully'), ('MessageArgs', []), ('MessageArgs@odata.count', 0), ('MessageId', 'Base.1.7.Created'), ('RelatedProperties', []), ('RelatedProperties@odata.count', 0), ('Resolution', 'None'), ('Severity', 'OK')]), AnsibleMapping([('Message', 'A new resource is successfully created.'), ('MessageArgs', []), ('MessageArgs@odata.count', 0), ('MessageId', 'IDRAC.2.2.SYS414'), ('RelatedProperties', []), ('RelatedProperties@odata.count', 0), ('Resolution', 'No response action is required.'), ('Severity', 'Informational')])]), ('Actions', AnsibleMapping([('#EventDestination.ResumeSubscription', AnsibleMapping([('target', '/redfish/v1/EventService/Subscriptions/5d432f36-81f4-11eb-9dc0-2cea7ff7ff9a/Actions/EventDestination.ResumeSubscription')]))])), ('Context', 'RedfishEvent'), ('DeliveryRetryPolicy', 'RetryForever'), ('Description', 'Event Subscription Details'), ('Destination', 'https://192.168.1.100:8188'), ('EventFormatType', 'Event'), ('EventTypes', ['Alert']), ('EventTypes@odata.count', 1), ('HttpHeaders', []), ('HttpHeaders@odata.count', 0), ('Id', '5d432f36-81f4-11eb-9dc0-2cea7ff7ff9a'), ('MetricReportDefinitions', []), ('MetricReportDefinitions@odata.count', 0), ('Name', 'EventSubscription 5d432f36-81f4-11eb-9dc0-2cea7ff7ff9a'), ('OriginResources', []), ('OriginResources@odata.count', 0), ('Protocol', 'Redfish'), ('Status', AnsibleMapping([('Health', 'OK'), ('HealthRollup', 'OK'), ('State', 'Enabled')])), ('SubscriptionType', 'RedfishEvent')])) +status (on adding subscription successfully, dict, {'@Message.ExtendedInfo': [{'Message': 'The resource has been created successfully', 'MessageArgs': [], 'MessageArgs@odata.count': 0, 'MessageId': 'Base.1.7.Created', 'RelatedProperties': [], 'RelatedProperties@odata.count': 0, 'Resolution': 'None', 'Severity': 'OK'}, {'Message': 'A new resource is successfully created.', 'MessageArgs': [], 'MessageArgs@odata.count': 0, 'MessageId': 'IDRAC.2.2.SYS414', 'RelatedProperties': [], 'RelatedProperties@odata.count': 0, 'Resolution': 'No response action is required.', 'Severity': 'Informational'}], 'Actions': {'#EventDestination.ResumeSubscription': {'target': '/redfish/v1/EventService/Subscriptions/5d432f36-81f4-11eb-9dc0-2cea7ff7ff9a/Actions/EventDestination.ResumeSubscription'}}, 'Context': 'RedfishEvent', 'DeliveryRetryPolicy': 'RetryForever', 'Description': 'Event Subscription Details', 'Destination': 'https://192.168.1.100:8188', 'EventFormatType': 'Event', 'EventTypes': ['Alert'], 'EventTypes@odata.count': 1, 'HttpHeaders': [], 'HttpHeaders@odata.count': 0, 'Id': '5d432f36-81f4-11eb-9dc0-2cea7ff7ff9a', 'MetricReportDefinitions': [], 'MetricReportDefinitions@odata.count': 0, 'Name': 'EventSubscription 5d432f36-81f4-11eb-9dc0-2cea7ff7ff9a', 'OriginResources': [], 'OriginResources@odata.count': 0, 'Protocol': 'Redfish', 'Status': {'Health': 'OK', 'HealthRollup': 'OK', 'State': 'Enabled'}, 'SubscriptionType': 'RedfishEvent'}) Returns subscription object created -error_info (on http error, dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Unable to complete the operation because the JSON data format entered is invalid.'), ('Resolution', 'Do the following and the retry the operation: 1) Enter the correct JSON data format and retry the operation. 2) Make sure that no syntax error is present in JSON data format. 3) Make sure that a duplicate key is not present in JSON data format.'), ('Severity', 'Critical')]), AnsibleMapping([('Message', 'The request body submitted was malformed JSON and could not be parsed by the receiving service.'), ('Resolution', 'Ensure that the request body is valid JSON and resubmit the request.'), ('Severity', 'Critical')])]), ('code', 'Base.1.2.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.')]))])) +error_info (on http error, dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to complete the operation because the JSON data format entered is invalid.', 'Resolution': 'Do the following and the retry the operation: 1) Enter the correct JSON data format and retry the operation. 2) Make sure that no syntax error is present in JSON data format. 3) Make sure that a duplicate key is not present in JSON data format.', 'Severity': 'Critical'}, {'Message': 'The request body submitted was malformed JSON and could not be parsed by the receiving service.', 'Resolution': 'Ensure that the request body is valid JSON and resubmit the request.', 'Severity': 'Critical'}], 'code': 'Base.1.2.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}}) Details of http error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/redfish_firmware.rst b/ansible_collections/dellemc/openmanage/docs/modules/redfish_firmware.rst index d1225dd7f..3a3471c1f 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/redfish_firmware.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/redfish_firmware.rst @@ -40,6 +40,18 @@ Parameters Protocol used to transfer the firmware image file. Applicable for URI based update. + job_wait (optional, bool, True) + Provides the option to wait for job completion. + + + job_wait_timeout (optional, int, 3600) + The maximum wait time of *job_wait* in seconds. The job is tracked only for this duration. + + This option is applicable when *job_wait* is ``true``. + + Note: If a firmware update needs a reboot, the job will get scheduled and waits for no of seconds specfied in *job_wait_time*. to reduce the wait time either give *job_wait_time* minimum or make *job_wait*as false and retrigger. + + baseuri (True, str, None) IP address of the target out-of-band controller. For example- <ipaddress>:<port>. @@ -53,11 +65,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -76,6 +88,8 @@ Notes .. note:: - Run this module from a system that has direct access to Redfish APIs. + - This module supports both IPv4 and IPv6 addresses. + - This module supports only iDRAC9 and above. - This module does not support ``check_mode``. @@ -97,6 +111,17 @@ Examples image_uri: "http://192.168.0.2/firmware_repo/component.exe" transfer_protocol: "HTTP" + - name: Update the firmware from a single executable file available in a HTTP protocol with job_Wait + dellemc.openmanage.redfish_firmware: + baseuri: "192.168.0.1" + username: "user_name" + password: "user_password" + ca_path: "/path/to/ca_cert.pem" + image_uri: "http://192.168.0.2/firmware_repo/component.exe" + transfer_protocol: "HTTP" + job_wait: true + job_wait_timeout: 600 + - name: Update the firmware from a single executable file available in a local path dellemc.openmanage.redfish_firmware: baseuri: "192.168.0.1" @@ -110,15 +135,15 @@ Examples Return Values ------------- -msg (always, str, Successfully submitted the firmware update task.) +msg (always, str, Successfully updated the firmware.) Overall status of the firmware update task. -task (success, dict, AnsibleMapping([('id', 'JID_XXXXXXXXXXXX'), ('uri', '/redfish/v1/TaskService/Tasks/JID_XXXXXXXXXXXX')])) +task (success, dict, {'id': 'JID_XXXXXXXXXXXX', 'uri': '/redfish/v1/TaskService/Tasks/JID_XXXXXXXXXXXX'}) Returns ID and URI of the created task. -error_info (on http error, dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Unable to complete the operation because the JSON data format entered is invalid.'), ('Resolution', 'Do the following and the retry the operation: 1) Enter the correct JSON data format and retry the operation. 2) Make sure that no syntax error is present in JSON data format. 3) Make sure that a duplicate key is not present in JSON data format.'), ('Severity', 'Critical')]), AnsibleMapping([('Message', 'The request body submitted was malformed JSON and could not be parsed by the receiving service.'), ('Resolution', 'Ensure that the request body is valid JSON and resubmit the request.'), ('Severity', 'Critical')])]), ('code', 'Base.1.2.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information.')]))])) +error_info (on http error, dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to complete the operation because the JSON data format entered is invalid.', 'Resolution': 'Do the following and the retry the operation: 1) Enter the correct JSON data format and retry the operation. 2) Make sure that no syntax error is present in JSON data format. 3) Make sure that a duplicate key is not present in JSON data format.', 'Severity': 'Critical'}, {'Message': 'The request body submitted was malformed JSON and could not be parsed by the receiving service.', 'Resolution': 'Ensure that the request body is valid JSON and resubmit the request.', 'Severity': 'Critical'}], 'code': 'Base.1.2.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}}) Details of http error. @@ -136,4 +161,8 @@ Authors ~~~~~~~ - Felix Stephen (@felixs88) +- Husniya Hameed (@husniya_hameed) +- Shivam Sharma (@Shivam-Sharma) +- Kritika Bhateja (@Kritika_Bhateja) +- Abhishek Sinha (@ABHISHEK-SINHA10) diff --git a/ansible_collections/dellemc/openmanage/docs/modules/redfish_firmware_rollback.rst b/ansible_collections/dellemc/openmanage/docs/modules/redfish_firmware_rollback.rst new file mode 100644 index 000000000..466239e40 --- /dev/null +++ b/ansible_collections/dellemc/openmanage/docs/modules/redfish_firmware_rollback.rst @@ -0,0 +1,163 @@ +.. _redfish_firmware_rollback_module: + + +redfish_firmware_rollback -- To perform a component firmware rollback using component name +========================================================================================== + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- + +This module allows to rollback the firmware of different server components. + +Depending on the component, the firmware update is applied after an automatic or manual reboot. + + + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- python >= 3.9.6 + + + +Parameters +---------- + + name (True, str, None) + The name or regular expression of the component to match and is case-sensitive. + + + reboot (optional, bool, True) + Reboot the server to apply the previous version of the firmware. + + ``true`` reboots the server to rollback the firmware to the available version. + + ``false`` schedules the rollback of firmware until the next restart. + + When *reboot* is ``false``, some components update immediately, and the server may reboot. So, the module must wait till the server is accessible. + + + reboot_timeout (optional, int, 900) + Wait time in seconds. The module waits for this duration till the server reboots. + + + baseuri (True, str, None) + IP address of the target out-of-band controller. For example- <ipaddress>:<port>. + + + username (True, str, None) + Username of the target out-of-band controller. + + + password (True, str, None) + Password of the target out-of-band controller. + + + validate_certs (optional, bool, True) + 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. + + + ca_path (optional, path, None) + The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. + + + timeout (optional, int, 30) + The socket level timeout in seconds. + + + + + +Notes +----- + +.. note:: + - Run this module from a system that has direct access to Redfish APIs. + - For components that do not require a reboot, firmware rollback proceeds irrespective of *reboot* is ``true`` or ``false``. + - This module supports IPv4 and IPv6 addresses. + - This module supports ``check_mode``. + + + + +Examples +-------- + +.. code-block:: yaml+jinja + + + --- + - name: Rollback a BIOS component firmware + dellemc.openmanage.redfish_firmware_rollback: + baseuri: "192.168.0.1" + username: "user_name" + password: "user_password" + ca_path: "/path/to/ca_cert.pem" + name: "BIOS" + + - name: Rollback all NIC cards with a name starting from 'Broadcom Gigabit'. + dellemc.openmanage.redfish_firmware_rollback: + baseuri: "192.168.0.1:443" + username: "user_name" + password: "user_password" + ca_path: "/path/to/ca_cert.pem" + name: "Broadcom Gigabit Ethernet.*" + + - name: Rollback all the component firmware except BIOS component. + dellemc.openmanage.redfish_firmware_rollback: + baseuri: "192.168.0.1:443" + username: "user_name" + password: "user_password" + ca_path: "/path/to/ca_cert.pem" + name: "(?!BIOS).*" + + - name: Rollback all the available firmware component. + dellemc.openmanage.redfish_firmware_rollback: + baseuri: "192.168.0.1:443" + username: "user_name" + password: "user_password" + ca_path: "/path/to/ca_cert.pem" + name: ".*" + + + +Return Values +------------- + +msg (always, str, Successfully completed the job for firmware rollback.) + Overall firmware rollback status. + + +status (success, list, [{'ActualRunningStartTime': '2023-08-04T12:26:55', 'ActualRunningStopTime': '2023-08-04T12:32:35', 'CompletionTime': '2023-08-04T12:32:35', 'Description': 'Job Instance', 'EndTime': 'TIME_NA', 'Id': 'JID_911698303631', 'JobState': 'Completed', 'JobType': 'FirmwareUpdate', 'Message': 'Job completed successfully.', 'MessageArgs': [], 'MessageId': 'PR19', 'Name': 'Firmware Rollback: Firmware', 'PercentComplete': 100, 'StartTime': '2023-08-04T12:23:50', 'TargetSettingsURI': None}]) + Firmware rollback job and progress details from the iDRAC. + + +error_info (on http error, dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'InstanceID value provided for the update operation is invalid', 'MessageArgs': [], 'MessageArgs@odata.count': 0, 'MessageId': 'IDRAC.2.8.SUP024', 'RelatedProperties': [], 'RelatedProperties@odata.count': 0, 'Resolution': 'Enumerate inventory, copy the InstanceID value and provide that value for the update operation.', 'Severity': 'Warning'}], 'code': 'Base.1.12.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information'}}) + Details of the HTTP error. + + + + + +Status +------ + + + + + +Authors +~~~~~~~ + +- Felix Stephen (@felixs88) + diff --git a/ansible_collections/dellemc/openmanage/docs/modules/redfish_powerstate.rst b/ansible_collections/dellemc/openmanage/docs/modules/redfish_powerstate.rst index fb05fe3e3..fa8ac069e 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/redfish_powerstate.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/redfish_powerstate.rst @@ -72,11 +72,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If ``false``, the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + 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. + Prior to collection version ``5.0.0``, the *validate_certs* is ``false`` by default. ca_path (optional, path, None) @@ -133,7 +133,7 @@ msg (always, str, Successfully performed the reset type operation 'On'.) Overall status of the reset operation. -error_info (on http error, dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Unable to complete the operation because the resource /redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset entered in not found.'), ('MessageArgs', ['/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset']), ('MessageArgs@odata.count', 1), ('MessageId', 'IDRAC.2.1.SYS403'), ('RelatedProperties', []), ('RelatedProperties@odata.count', 0), ('Resolution', 'Enter the correct resource and retry the operation. For information about valid resource, see the Redfish Users Guide available on the support site.'), ('Severity', 'Critical')])]), ('code', 'Base.1.5.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information')]))])) +error_info (on http error, dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to complete the operation because the resource /redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset entered in not found.', 'MessageArgs': ['/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset'], 'MessageArgs@odata.count': 1, 'MessageId': 'IDRAC.2.1.SYS403', 'RelatedProperties': [], 'RelatedProperties@odata.count': 0, 'Resolution': 'Enter the correct resource and retry the operation. For information about valid resource, see the Redfish Users Guide available on the support site.', 'Severity': 'Critical'}], 'code': 'Base.1.5.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information'}}) Details of the HTTP error. diff --git a/ansible_collections/dellemc/openmanage/docs/modules/redfish_storage_volume.rst b/ansible_collections/dellemc/openmanage/docs/modules/redfish_storage_volume.rst index d0dfe4b15..f6e5f577f 100644 --- a/ansible_collections/dellemc/openmanage/docs/modules/redfish_storage_volume.rst +++ b/ansible_collections/dellemc/openmanage/docs/modules/redfish_storage_volume.rst @@ -20,7 +20,7 @@ Requirements ------------ The below requirements are needed on the host that executes this module. -- python >= 3.8.6 +- python \>= 3.9.6 @@ -32,7 +32,7 @@ Parameters For example- RAID.Slot.1-1. - This option is mandatory when *state* is ``present`` while creating a volume. + This option is mandatory when \ :emphasis:`state`\ is \ :literal:`present`\ while creating a volume. volume_id (optional, str, None) @@ -42,41 +42,43 @@ Parameters This option is mandatory in the following scenarios, - *state* is ``present``, when updating a volume. + \ :emphasis:`state`\ is \ :literal:`present`\ , when updating a volume. - *state* is ``absent``, when deleting a volume. + \ :emphasis:`state`\ is \ :literal:`absent`\ , when deleting a volume. - *command* is ``initialize``, when initializing a volume. + \ :emphasis:`command`\ is \ :literal:`initialize`\ , when initializing a volume. state (optional, str, None) - ``present`` creates a storage volume for the specified I (controller_id), or modifies the storage volume for the specified I (volume_id). "Note: Modification of an existing volume properties depends on drive and controller capabilities". + \ :literal:`present`\ creates a storage volume for the specified I (controller\_id), or modifies the storage volume for the specified I (volume\_id). "Note: Modification of an existing volume properties depends on drive and controller capabilities". - ``absent`` deletes the volume for the specified *volume_id*. + \ :literal:`absent`\ deletes the volume for the specified \ :emphasis:`volume\_id`\ . command (optional, str, None) - ``initialize`` initializes an existing storage volume for a specified *volume_id*. + \ :literal:`initialize`\ initializes an existing storage volume for a specified \ :emphasis:`volume\_id`\ . volume_type (optional, str, None) One of the following volume types must be selected to create a volume. - ``Mirrored`` The volume is a mirrored device. + \ :literal:`NonRedundant`\ The volume is a non-redundant storage device. - ``NonRedundant`` The volume is a non-redundant storage device. + \ :literal:`Mirrored`\ The volume is a mirrored device. - ``SpannedMirrors`` The volume is a spanned set of mirrored devices. + \ :literal:`StripedWithParity`\ The volume is a device which uses parity to retain redundant information. - ``SpannedStripesWithParity`` The volume is a spanned set of devices which uses parity to retain redundant information. + \ :literal:`SpannedMirrors`\ The volume is a spanned set of mirrored devices. - ``StripedWithParity`` The volume is a device which uses parity to retain redundant information. + \ :literal:`SpannedStripesWithParity`\ The volume is a spanned set of devices which uses parity to retain redundant information. + + \ :emphasis:`volume\_type`\ is mutually exclusive with \ :emphasis:`raid\_type`\ . name (optional, str, None) Name of the volume to be created. - Only applicable when *state* is ``present``. + Only applicable when \ :emphasis:`state`\ is \ :literal:`present`\ . drives (optional, list, None) @@ -84,57 +86,111 @@ Parameters For example- Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1. - Only applicable when *state* is ``present`` when creating a new volume. + Only applicable when \ :emphasis:`state`\ is \ :literal:`present`\ when creating a new volume. block_size_bytes (optional, int, None) - Block size in bytes.Only applicable when *state* is ``present``. + Block size in bytes.Only applicable when \ :emphasis:`state`\ is \ :literal:`present`\ . capacity_bytes (optional, str, None) Volume size in bytes. - Only applicable when *state* is ``present``. + Only applicable when \ :emphasis:`state`\ is \ :literal:`present`\ . optimum_io_size_bytes (optional, int, None) - Stripe size value must be in multiples of 64 * 1024. + Stripe size value must be in multiples of 64 \* 1024. - Only applicable when *state* is ``present``. + Only applicable when \ :emphasis:`state`\ is \ :literal:`present`\ . encryption_types (optional, str, None) The following encryption types can be selected. - ``ControllerAssisted`` The volume is encrypted by the storage controller entity. + \ :literal:`ControllerAssisted`\ The volume is encrypted by the storage controller entity. - ``NativeDriveEncryption`` The volume utilizes the native drive encryption capabilities of the drive hardware. + \ :literal:`NativeDriveEncryption`\ The volume utilizes the native drive encryption capabilities of the drive hardware. - ``SoftwareAssisted`` The volume is encrypted by the software running on the system or the operating system. + \ :literal:`SoftwareAssisted`\ The volume is encrypted by the software running on the system or the operating system. - Only applicable when *state* is ``present``. + Only applicable when \ :emphasis:`state`\ is \ :literal:`present`\ . encrypted (optional, bool, None) Indicates whether volume is currently utilizing encryption or not. - Only applicable when *state* is ``present``. + Only applicable when \ :emphasis:`state`\ is \ :literal:`present`\ . oem (optional, dict, None) Includes OEM extended payloads. - Only applicable when *state* is *present*. + Only applicable when \ :emphasis:`state`\ is \ :emphasis:`present`\ . initialize_type (optional, str, Fast) Initialization type of existing volume. - Only applicable when *command* is ``initialize``. + Only applicable when \ :emphasis:`command`\ is \ :literal:`initialize`\ . + + + raid_type (optional, str, None) + \ :literal:`RAID0`\ to create a RAID0 type volume. + + \ :literal:`RAID1`\ to create a RAID1 type volume. + + \ :literal:`RAID5`\ to create a RAID5 type volume. + + \ :literal:`RAID6`\ to create a RAID6 type volume. + + \ :literal:`RAID10`\ to create a RAID10 type volume. + + \ :literal:`RAID50`\ to create a RAID50 type volume. + + \ :literal:`RAID60`\ to create a RAID60 type volume. + + \ :emphasis:`raid\_type`\ is mutually exclusive with \ :emphasis:`volume\_type`\ . + + + apply_time (optional, str, None) + Apply time of the Volume configuration. + + \ :literal:`Immediate`\ allows you to apply the volume configuration on the host server immediately and apply the changes. This is applicable for \ :emphasis:`job\_wait`\ . + + \ :literal:`OnReset`\ allows you to apply the changes on the next reboot of the host server. + + \ :emphasis:`apply\_time`\ has a default value based on the different types of the controller. For example, BOSS-S1 and BOSS-N1 controllers have a default value of \ :emphasis:`apply\_time`\ as \ :literal:`OnReset`\ , and PERC controllers have a default value of \ :emphasis:`apply\_time`\ as \ :literal:`Immediate`\ . + + + reboot_server (optional, bool, False) + Reboot the server to apply the changes. + + \ :emphasis:`reboot\_server`\ is applicable only when \ :emphasis:`apply\_timeout`\ is \ :literal:`OnReset`\ or when the default value for the apply time of the controller is \ :literal:`OnReset`\ . + + + force_reboot (optional, bool, False) + Reboot the server forcefully to apply the changes when the normal reboot fails. + + \ :emphasis:`force\_reboot`\ is applicable only when \ :emphasis:`reboot\_server`\ is \ :literal:`true`\ . + + + job_wait (optional, bool, False) + This parameter provides the option to wait for the job completion. + + This is applicable when \ :emphasis:`apply\_time`\ is \ :literal:`Immediate`\ . + + This is applicable when \ :emphasis:`apply\_time`\ is \ :literal:`OnReset`\ and \ :emphasis:`reboot\_server`\ is \ :literal:`true`\ . + + + job_wait_timeout (optional, int, 1200) + This parameter is the maximum wait time of \ :emphasis:`job\_wait`\ in seconds. + + This option is applicable when \ :emphasis:`job\_wait`\ is \ :literal:`true`\ . baseuri (True, str, None) - IP address of the target out-of-band controller. For example- <ipaddress>:<port>. + IP address of the target out-of-band controller. For example- \<ipaddress\>:\<port\>. username (True, str, None) @@ -146,11 +202,11 @@ Parameters validate_certs (optional, bool, True) - If ``False``, the SSL certificates will not be validated. + If \ :literal:`false`\ , the SSL certificates will not be validated. - Configure ``False`` only on personally controlled sites where self-signed certificates are used. + Configure \ :literal:`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. + Prior to collection version \ :literal:`5.0.0`\ , the \ :emphasis:`validate\_certs`\ is \ :literal:`false`\ by default. ca_path (optional, path, None) @@ -169,8 +225,9 @@ Notes .. note:: - Run this module from a system that has direct access to Redfish APIs. - - This module supports ``check_mode``. - - This module always reports changes when *name* and *volume_id* are not specified. Either *name* or *volume_id* is required to support ``check_mode``. + - This module supports \ :literal:`check\_mode`\ . + - This module always reports changes when \ :emphasis:`name`\ and \ :emphasis:`volume\_id`\ are not specified. Either \ :emphasis:`name`\ or \ :emphasis:`volume\_id`\ is required to support \ :literal:`check\_mode`\ . + - This module supports IPv4 and IPv6 addresses. @@ -211,7 +268,48 @@ Examples controller_id: "RAID.Slot.1-1" volume_type: "NonRedundant" drives: - - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1 + + - name: Create a RAID0 on PERC controller on reset + dellemc.openmanage.redfish_storage_volume: + baseuri: "192.168.0.1" + username: "username" + password: "password" + state: "present" + controller_id: "RAID.Slot.1-1" + raid_type: "RAID0" + drives: + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-2 + apply_time: OnReset + + - name: Create a RAID0 on BOSS controller with restart + dellemc.openmanage.redfish_storage_volume: + baseuri: "192.168.0.1" + username: "username" + password: "password" + state: "present" + controller_id: "RAID.Slot.1-1" + raid_type: "RAID0" + drives: + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-2 + apply_time: OnReset + reboot_server: true + + - name: Create a RAID0 on BOSS controller with force restart + dellemc.openmanage.redfish_storage_volume: + baseuri: "192.168.0.1" + username: "username" + password: "password" + state: "present" + controller_id: "RAID.Slot.1-1" + raid_type: "RAID0" + drives: + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-2 + reboot_server: true + force_reboot: true - name: Modify a volume's encryption type settings dellemc.openmanage.redfish_storage_volume: @@ -243,6 +341,38 @@ Examples volume_id: "Disk.Virtual.6:RAID.Slot.1-1" initialize_type: "Slow" + - name: Create a RAID6 volume + dellemc.openmanage.redfish_storage_volume: + baseuri: "192.168.0.1" + username: "username" + password: "password" + state: "present" + controller_id: "RAID.Slot.1-1" + raid_type: "RAID6" + drives: + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-2 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-3 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-4 + + - name: Create a RAID60 volume + dellemc.openmanage.redfish_storage_volume: + baseuri: "192.168.0.1" + username: "username" + password: "password" + state: "present" + controller_id: "RAID.Slot.1-1" + raid_type: "RAID60" + drives: + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-2 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-3 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-4 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-5 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-6 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-7 + - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-8 + Return Values @@ -252,11 +382,11 @@ msg (always, str, Successfully submitted create volume task.) Overall status of the storage configuration operation. -task (success, dict, AnsibleMapping([('id', 'JID_XXXXXXXXXXXXX'), ('uri', '/redfish/v1/TaskService/Tasks/JID_XXXXXXXXXXXXX')])) +task (success, dict, {'id': 'JID_XXXXXXXXXXXXX', 'uri': '/redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_XXXXXXXXXXXXX'}) Returns ID and URI of the created task. -error_info (on http error, dict, AnsibleMapping([('error', AnsibleMapping([('@Message.ExtendedInfo', [AnsibleMapping([('Message', 'Unable to perform configuration operations because a configuration job for the device already exists.'), ('MessageArgs', []), ('MessageArgs@odata.count', 0), ('MessageId', 'IDRAC.1.6.STOR023'), ('RelatedProperties', []), ('RelatedProperties@odata.count', 0), ('Resolution', 'Wait for the current job for the device to complete or cancel the current job before attempting more configuration operations on the device.'), ('Severity', 'Informational')])]), ('code', 'Base.1.2.GeneralError'), ('message', 'A general error has occurred. See ExtendedInfo for more information')]))])) +error_info (on http error, dict, {'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to perform configuration operations because a configuration job for the device already exists.', 'MessageArgs': [], 'MessageArgs@odata.count': 0, 'MessageId': 'IDRAC.1.6.STOR023', 'RelatedProperties': [], 'RelatedProperties@odata.count': 0, 'Resolution': 'Wait for the current job for the device to complete or cancel the current job before attempting more configuration operations on the device.', 'Severity': 'Informational'}], 'code': 'Base.1.2.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information'}}) Details of a http error. @@ -274,4 +404,5 @@ Authors ~~~~~~~ - Sajna Shetty(@Sajna-Shetty) +- Kritika Bhateja(@Kritika-Bhateja-03) |