theforeman.foreman.product module – Manage Products

Note

This module is part of the theforeman.foreman collection (version 5.4.0-dev).

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 theforeman.foreman. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: theforeman.foreman.product.

New in theforeman.foreman 1.0.0

Synopsis

  • Create and manage products

Aliases: katello_product

Requirements

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

  • requests

Parameters

Parameter

Comments

ca_path

path

PEM formatted file that contains a CA certificate to be used for validation.

If the value is not specified in the task, the value of environment variable FOREMAN_CA_PATH will be used instead.

description

string

Possibly long description to show the user in detail view

gpg_key

string

Content GPG key name attached to this product

label

string

Label to show the user

name

string / required

Name of the product

organization

string / required

Organization that the entity is in

password

string

Password of the user accessing the Foreman server.

If the value is not specified in the task, the value of environment variable FOREMAN_PASSWORD will be used instead.

server_url

string / required

URL of the Foreman server.

If the value is not specified in the task, the value of environment variable FOREMAN_SERVER_URL will be used instead.

ssl_ca_cert

string

Content SSL CA certificate name attached to this product

ssl_client_cert

string

Content SSL client certificate name attached to this product

ssl_client_key

string

Content SSL client private key name attached to this product

state

string

State of the entity

present_with_defaults will ensure the entity exists, but won’t update existing ones

Choices:

  • "present" ← (default)

  • "present_with_defaults"

  • "absent"

sync_plan

string

Sync plan name attached to this product

use_gssapi

boolean

Use GSSAPI to perform the authentication, typically this is for Kerberos or Kerberos through Negotiate authentication.

Requires the Python library requests-gssapi to be installed.

If the value is not specified in the task, the value of environment variable FOREMAN_USE_GSSAPI will be used instead.

Choices:

  • false ← (default)

  • true

username

string

Username accessing the Foreman server.

If the value is not specified in the task, the value of environment variable FOREMAN_USERNAME will be used instead.

validate_certs

boolean

Whether or not to verify the TLS certificates of the Foreman server.

If the value is not specified in the task, the value of environment variable FOREMAN_VALIDATE_CERTS will be used instead.

Choices:

  • false

  • true ← (default)

Attributes

Attribute

Support

Description

check_mode

Support: full

Can run in check_mode and return changed status prediction without modifying the entity

diff_mode

Support: full

Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode

Examples

- name: "Create Fedora product with a sync plan"
  theforeman.foreman.product:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    name: "Fedora"
    organization: "My Cool new Organization"
    sync_plan: "Fedora repos sync"
    state: present

- name: "Create CentOS 7 product with content credentials"
  theforeman.foreman.product:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    name: "CentOS 7"
    gpg_key: "RPM-GPG-KEY-CentOS7"
    organization: "My Cool new Organization"
    state: present

Return Values

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

Key

Description

entity

dictionary

Final state of the affected entities grouped by their type.

Returned: success

products

list / elements=dictionary

List of products.

Returned: success

Authors

  • Eric D Helms (@ehelms)

  • Matthias Dellweg (@mdellweg) ATIX AG