dellemc.openmanage.ome_firmware_catalog – Create, modify, or delete a firmware catalog on OpenManage Enterprise or OpenManage Enterprise Modular

Note

This plugin is part of the dellemc.openmanage collection (version 4.3.0).

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

To install it, use: ansible-galaxy collection install dellemc.openmanage.

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

New in version 2.0.0: of dellemc.openmanage

Synopsis

  • This module allows to create, modify, or delete a firmware catalog on OpenManage Enterprise or OpenManage Enterprise Modular.

Requirements

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

  • python >= 2.7.5

Parameters

Parameter Choices/Defaults Comments
catalog_description
string
Description for the catalog.
catalog_id
list / elements=integer
added in 3.4.0 of dellemc.openmanage
ID of the catalog.
This option is mutually exclusive with catalog_name.
Provide the list of firmware catalog IDs that are supported when state is absent.
catalog_name
list / elements=string
Name of the firmware catalog to be created.
This option is mutually exclusive with catalog_id.
Provide the list of firmware catalog names that are supported when state is absent.
check_certificate
boolean
    Choices:
  • no ←
  • yes
The certificate warnings are ignored when repository_type is HTTPS. If True. If not, certificate warnings are not ignored.
file_name
string
Catalog file name associated with the source_path.
This option is ignored when repository_type is DELL_ONLINE.
hostname
string / required
OpenManage Enterprise or OpenManage Enterprise Modular IP address or hostname.
job_wait
boolean
added in 3.4.0 of dellemc.openmanage
    Choices:
  • no
  • yes ←
Provides the option to wait for job completion.
This option is applicable when state is present.
job_wait_timeout
integer
added in 3.4.0 of dellemc.openmanage
Default:
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.
new_catalog_name
string
added in 3.4.0 of dellemc.openmanage
New name of the firmware catalog.
password
string / required
OpenManage Enterprise or OpenManage Enterprise Modular password.
port
integer
Default:
443
OpenManage Enterprise or OpenManage Enterprise Modular HTTPS port.
repository_domain
string
Domain name of the repository.
This option is ignored when repository_type is DELL_ONLINE.
repository_password
string
Password to access the repository.
This option is mandatory when repository_type is CIFS.
This option is ignored when repository_type is DELL_ONLINE.
NOTE The module always reports the changed status, when this is provided.
repository_type
string
    Choices:
  • NFS
  • CIFS
  • HTTP
  • HTTPS
  • DELL_ONLINE
Type of repository. The supported types are NFS, CIFS, HTTP, HTTPS,and DELL_ONLINE.
repository_username
string
User name of the repository where the catalog is stored.
This option is mandatory when repository_type is CIFS.
This option is ignored when repository_type is DELL_ONLINE.
source
string
The IP address of the system where the firmware catalog is stored on the local network.
By default, this option is set to downloads.dell.com when repository_type is DELL_ONLINE.
source_path
string
Specify the complete path of the catalog file location without the file name.
This is option ignored when repository_type is DELL_ONLINE.
state
string
added in 3.4.0 of dellemc.openmanage
    Choices:
  • present ←
  • absent
present creates or modifies a catalog.
absent deletes an existing catalog.
username
string / required
OpenManage Enterprise or OpenManage Enterprise Modular username.

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.

  • This module supports check_mode.

Examples

---
- name: Create a catalog from HTTPS repository
  dellemc.openmanage.ome_firmware_catalog:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    catalog_name: "catalog_name"
    catalog_description: "catalog_description"
    repository_type: "HTTPS"
    source: "downloads.dell.com"
    source_path: "catalog"
    file_name: "catalog.gz"
    check_certificate: True

- name: Create a catalog from HTTP repository
  dellemc.openmanage.ome_firmware_catalog:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    catalog_name: "catalog_name"
    catalog_description: "catalog_description"
    repository_type: "HTTP"
    source: "downloads.dell.com"
    source_path: "catalog"
    file_name: "catalog.gz"

- name: Create a catalog using CIFS share
  dellemc.openmanage.ome_firmware_catalog:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    catalog_name: "catalog_name"
    catalog_description: "catalog_description"
    repository_type: "CIFS"
    source: "192.167.0.1"
    source_path: "cifs/R940"
    file_name: "catalog.gz"
    repository_username: "repository_username"
    repository_password: "repository_password"
    repository_domain: "repository_domain"

- name: Create a catalog using NFS share
  dellemc.openmanage.ome_firmware_catalog:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    catalog_name: "catalog_name"
    catalog_description: "catalog_description"
    repository_type: "NFS"
    source: "192.166.0.2"
    source_path: "/nfs/R940"
    file_name: "catalog.xml"

- name: Create a catalog using repository from Dell.com
  dellemc.openmanage.ome_firmware_catalog:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    catalog_name: "catalog_name"
    catalog_description: "catalog_description"
    repository_type: "DELL_ONLINE"
    check_certificate: True

- name: Modify a catalog using a repository from CIFS share
  dellemc.openmanage.ome_firmware_catalog:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    catalog_name: "catalog_name"
    catalog_description: "new catalog_description"
    repository_type: "CIFS"
    source: "192.167.0.2"
    source_path: "cifs/R941"
    file_name: "catalog1.gz"
    repository_username: "repository_username"
    repository_password: "repository_password"
    repository_domain: "repository_domain"

- name: Modify a catalog using a repository from Dell.com
  dellemc.openmanage.ome_firmware_catalog:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    catalog_id: 10
    new_catalog_name: "new_catalog_name"
    repository_type: "DELL_ONLINE"
    catalog_description: "catalog_description"

- name: Delete catalog using catalog name
  dellemc.openmanage.ome_firmware_catalog:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    state: absent
    catalog_name: ["catalog_name1", "catalog_name2"]

- name: Delete catalog using catalog id
  dellemc.openmanage.ome_firmware_catalog:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    state: absent
    catalog_id: [11, 34]

Return Values

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

Key Returned Description
associated_baselines
list / elements=dictionary
When state is absent
IDs of the baselines associated with catalog.

Sample:
[{'BaselineId': 24, 'BaselineName': 'new'}, {'BaselineId': 25, 'BaselineName': 'c7'}, {'BaselineId': 27, 'BaselineName': 'c4'}]
catalog_id
integer
When state is absent
IDs of the deleted catalog.

Sample:
10123
catalog_status
dictionary
When state is present
Details of the catalog operation.

Sample:
{'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}
error_info
dictionary
on http error
Details of the http error.

Sample:
{'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.'}}
job_id
integer
When catalog job is in a running state
Job ID of the catalog task.

Sample:
10123
msg
string
always
Overall status of the firmware catalog operation.

Sample:
Successfully triggered the job to create a catalog with Task ID : 10094


Authors

  • Sajna Shetty(@Sajna-Shetty)

  • Jagadeesh N V(@jagadeeshnv)