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 3.6.0).

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 is 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)