community.general.iso_create – Generate ISO file with specified files or folders

Note

This plugin is part of the community.general collection (version 3.8.1).

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 community.general.

To use it in a playbook, specify: community.general.iso_create.

New in version 0.2.0: of community.general

Synopsis

  • This module is used to generate ISO file with specified path of files.

Requirements

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

  • pycdlib
  • python >= 2.7

Parameters

Parameter Choices/Defaults Comments
dest_iso
path / required
The absolute path with file name of the new generated ISO file on local machine.
Will create intermediate folders when they does not exist.
interchange_level
integer
    Choices:
  • 1
  • 2
  • 3
  • 4
Default:
1
The ISO9660 interchange level to use, it dictates the rules on the names of files.
Levels and valid values 1, 2, 3, 4 are supported.
The default value is level 1, which is the most conservative, level 3 is recommended.
ISO9660 file names at interchange level 1 cannot have more than 8 characters or 3 characters in the extension.
joliet
integer
    Choices:
  • 1
  • 2
  • 3
Support levels and valid values are 1, 2, or 3.
Level 3 is by far the most common.
If not specified, then no Joliet support is added.
rock_ridge
string
    Choices:
  • 1.09
  • 1.10
  • 1.12
Whether to make this ISO have the Rock Ridge extensions or not.
Valid values are 1.09, 1.10 or 1.12, means adding the specified Rock Ridge version to the ISO.
If unsure, set 1.09 to ensure maximum compatibility.
If not specified, then not add Rock Ridge extension to the ISO.
src_files
list / elements=path / required
This is a list of absolute paths of source files or folders which will be contained in the new generated ISO file.
Will fail if specified file or folder in src_files does not exist on local machine.
Note: With all ISO9660 levels from 1 to 3, all file names are restricted to uppercase letters, numbers and underscores (_). File names are limited to 31 characters, directory nesting is limited to 8 levels, and path names are limited to 255 characters.
udf
boolean
    Choices:
  • no
  • yes
Whether to add UDF support to this ISO.
If set to True, then version 2.60 of the UDF spec is used.
If not specified or set to False, then no UDF support is added.
vol_ident
string
The volume identification string to use on the new generated ISO image.

Examples

- name: Create an ISO file
  community.general.iso_create:
    src_files:
      - /root/testfile.yml
      - /root/testfolder
    dest_iso: /tmp/test.iso
    interchange_level: 3

- name: Create an ISO file with Rock Ridge extension
  community.general.iso_create:
    src_files:
      - /root/testfile.yml
      - /root/testfolder
    dest_iso: /tmp/test.iso
    rock_ridge: 1.09

- name: Create an ISO file with Joliet support
  community.general.iso_create:
    src_files:
      - ./windows_config/Autounattend.xml
    dest_iso: ./test.iso
    interchange_level: 3
    joliet: 3
    vol_ident: WIN_AUTOINSTALL

Return Values

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

Key Returned Description
created_iso
string
on success
Created iso file path.

Sample:
/path/to/test.iso
interchange_level
integer
on success
Configured interchange level.

Sample:
3
joliet
integer
on success
Configured Joliet support level.

Sample:
3
rock_ridge
string
on success
Configured Rock Ridge version.

Sample:
1.09
source_file
list / elements=path
on success
Configured source files or directories list.

Sample:
['/path/to/file.txt', '/path/to/folder']
udf
boolean
on success
Configured UDF support.

vol_ident
string
on success
Configured volume identification string.

Sample:
OEMDRV


Authors

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/iso_create_module.html