dellemc.openmanage.idrac_license (9.1.0) — module

Configure iDRAC licenses

| "added in version" 8.7.0 of dellemc.openmanage"

Authors: Rajshekar P(@rajshekarp87)

Install collection

Install with ansible-galaxy collection install dellemc.openmanage:==9.1.0


Add to requirements.yml

  collections:
    - name: dellemc.openmanage
      version: 9.1.0

Description

This module allows to import, export and delete licenses on iDRAC.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
---
- 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"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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

Inputs

    
delete:
    default: false
    description:
    - Delete the license from the iDRAC.
    - When I(delete) is C(true), then I(license_id) is required.
    - I(delete) is mutually exclusive with I(export) and I(import).
    type: bool

export:
    default: false
    description:
    - Export the license from the iDRAC.
    - When I(export) is C(true), I(license_id) and I(share_parameters) is required.
    - I(export) is mutually exclusive with I(delete) and I(import).
    type: bool

import:
    default: false
    description:
    - Import the license from the iDRAC.
    - When I(import) is C(true), I(share_parameters) is required.
    - I(import) is mutually exclusive with I(delete) and I(export).
    type: bool

ca_path:
    description:
    - The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for
      the validation.
    type: path
    version_added: 5.0.0
    version_added_collection: dellemc.openmanage

timeout:
    default: 30
    description: The socket level timeout in seconds.
    type: int
    version_added: 5.0.0
    version_added_collection: dellemc.openmanage

idrac_ip:
    description: iDRAC IP Address.
    required: true
    type: str

idrac_port:
    default: 443
    description: iDRAC port.
    type: int

idrac_user:
    description:
    - iDRAC username.
    - If the username is not provided, then the environment variable C(IDRAC_USERNAME)
      is used.
    - 'Example: export IDRAC_USERNAME=username'
    required: true
    type: str

license_id:
    aliases:
    - entitlement_id
    description:
    - Entitlement ID of the license that is to be imported, exported or deleted.
    - I(license_id) is required when I(delete) is C(true) or I(export) is C(true).
    type: str

resource_id:
    description:
    - 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.
    type: str

idrac_password:
    aliases:
    - idrac_pwd
    description:
    - iDRAC user password.
    - If the password is not provided, then the environment variable C(IDRAC_PASSWORD)
      is used.
    - 'Example: export IDRAC_PASSWORD=password'
    required: true
    type: str

validate_certs:
    default: true
    description:
    - If C(false), the SSL certificates will not be validated.
    - Configure C(false) only on personally controlled sites where self-signed certificates
      are used.
    - Prior to collection version C(5.0.0), the I(validate_certs) is C(false) by default.
    type: bool
    version_added: 5.0.0
    version_added_collection: dellemc.openmanage

share_parameters:
    description:
    - Parameters that are required for the import and export operation of a license.
    - I(share_parameters) is required when I(export) or I(import) is C(true).
    suboptions:
      file_name:
        description:
        - License file name for I(import) and I(export) operation.
        - I(file_name) is required when I(import) is C(true).
        - For the I(import) operation, when I(share_type) is C(local), the supported extensions
          for I(file_name) are '.txt' and '.xml'. For other share types, the supported
          extension is '.xml'
        type: str
      ignore_certificate_warning:
        choices:
        - 'off'
        - 'on'
        default: 'off'
        description:
        - Ignores the certificate warning while connecting to Share and is only applicable
          when I(share_type) is C(https).
        - C(off) ignores the certificate warning.
        - C(on) does not ignore the certificate warning.
        type: str
      ip_address:
        description:
        - IP address of the network share.
        - I(ip_address) is required when I(share_type) is C(nfs), C(cifs), C(http) or
          C(https).
        type: str
      password:
        description:
        - Password of the network share.
        - I(password) is required when I(share_type) is C(cifs).
        type: str
      proxy_password:
        description:
        - The password of the proxy server.
        - I(proxy_password) is only applicable when I(share_type) is C(https) or C(https)
          and when I(proxy_support) is C(parameters_proxy).
        type: str
      proxy_port:
        default: 80
        description:
        - The port of the proxy server.
        - I(proxy_port) is only applicable when I(share_type) is C(https) or C(https)
          and when I(proxy_support) is C(parameters_proxy).
        type: int
      proxy_server:
        description:
        - The IP address of the proxy server.
        - I(proxy_server) is required when I(proxy_support) is C(parameters_proxy).
        - I(proxy_server) is only applicable when I(share_type) is C(https) or C(https)
          and when I(proxy_support) is C(parameters_proxy).
        type: str
      proxy_support:
        choices:
        - 'off'
        - default_proxy
        - parameters_proxy
        default: 'off'
        description:
        - Specifies if proxy is to be used or not.
        - C(off) does not use proxy settings.
        - C(default_proxy) uses the default proxy settings.
        - C(parameters_proxy) uses the specified proxy settings. I(proxy_server) is required
          when I(proxy_support) is C(parameters_proxy).
        - I(proxy_support) is only applicable when I(share_type) is C(https) or C(https).
        type: str
      proxy_type:
        choices:
        - http
        - socks
        default: http
        description:
        - The proxy type of the proxy server.
        - C(http) to select HTTP proxy.
        - C(socks) to select SOCKS proxy.
        - I(proxy_type) is only applicable when I(share_type) is C(https) or C(https)
          and when I(proxy_support) is C(parameters_proxy).
        type: str
      proxy_username:
        description:
        - The username of the proxy server.
        - I(proxy_username) is only applicable when I(share_type) is C(https) or C(https)
          and when I(proxy_support) is C(parameters_proxy).
        type: str
      share_name:
        description:
        - Network share or local path of the license file.
        type: str
      share_type:
        choices:
        - local
        - nfs
        - cifs
        - http
        - https
        default: local
        description:
        - Share type of the network share.
        - C(local) uses local path for I(import) and I(export) operation.
        - C(nfs) uses NFS share for I(import) and I(export) operation.
        - C(cifs) uses CIFS share for I(import) and I(export) operation.
        - C(http) uses HTTP share for I(import) and I(export) operation.
        - C(https) uses HTTPS share for I(import) and I(export) operation.
        type: str
      username:
        description:
        - Username of the network share.
        - I(username) is required when I(share_type) is C(cifs).
        type: str
      workgroup:
        description:
        - Workgroup of the network share.
        - I(workgroup) is applicable only when I(share_type) is C(cifs).
        type: str
    type: dict

Outputs

error_info:
  description: Details of the HTTP Error.
  returned: on HTTP error
  sample:
    error:
      '@Message.ExtendedInfo':
      - Message: The authentication credentials included with this request are missing
          or invalid.
        MessageArgs: []
        MessageId: Base.1.8.AccessDenied
        RelatedProperties: []
        Resolution: Attempt to ensure that the URI is correct and that the service
          has the appropriate credentials.
        Severity: Critical
      code: Base.1.8.GeneralError
      message: A general error has occurred. See ExtendedInfo for more information.
  type: dict
job_details:
  description: Returns the output for status of the job.
  returned: For import and export operations
  sample:
    ActualRunningStartTime: '2024-01-09T05:16:19'
    ActualRunningStopTime: '2024-01-09T05:16:19'
    CompletionTime: '2024-01-09T05:16:19'
    Description: Job Instance
    EndTime: null
    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: null
  type: dict
msg:
  description: Status of the license operation.
  returned: always
  sample: Successfully exported the license.
  type: str