cloudera.cluster.host_template module – Manage a cluster host template

Note

This module is part of the cloudera.cluster collection (version 5.0.0).

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

To use it in a playbook, specify: cloudera.cluster.host_template.

New in cloudera.cluster 5.0.0

Synopsis

  • Manage a cluster host template.

Requirements

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

  • cm-client

Parameters

Parameter

Comments

agent_header

aliases: user_agent

string

Set the HTTP user agent header when interacting with the CM API endpoint.

Default: "ClouderaFoundry"

cluster

aliases: cluster_name

string / required

The associated cluster name.

debug

aliases: debug_endpoints

boolean

Capture the HTTP interaction logs with the CM API endpoint.

Choices:

  • false ← (default)

  • true

force_tls

boolean

Flag to force TLS during CM API endpoint discovery.

If False, discovery will first try HTTP and follow any redirects.

Choices:

  • false ← (default)

  • true

host

aliases: hostname

string

Hostname of the CM API endpoint.

If set, the host parameter will trigger CM API endpoint discovery, which will follow redirects.

Mutually exclusive with url.

name

aliases: host_template_name, host_template, template

string / required

The name of the host template.

password

string / required

Password for access to the CM API endpoint.

This parameter is set to no_log.

port

integer

Port of the CM API endpoint.

If set, CM API endpoint discovery will connect to the designated port first and will follow redirects.

Default: 7180

proxy_server

aliases: proxy, http_proxy

string

Set the HTTP/S proxy server when interacting with the CM API endpoint.

purge

boolean

Flag for whether the declared role config groups should append or overwrite any existing entries.

To clear all configuration overrides or tags, set role_config_groups={}, i.e. an empty dictionary, and set purge=True.

Choices:

  • false ← (default)

  • true

role_config_groups

list / elements=dictionary / required

Names of the role configuration groups associated with the host template.

name

string

The name of the custom role config group for the specified service.

Mutually exclusive with role_config_groups[].type.

service

aliases: service_name

string / required

The name of the service of the role config group, base or custom.

type

aliases: role_type

string

The name of the role type of the base role config group for the specified service.

Mutually exclusive with role_config_groups[].name.

ssl_ca_cert

aliases: tls_cert, ssl_cert

path

Path to SSL CA certificate to use for validation.

state

string

The state of the host template.

Choices:

  • "present" ← (default)

  • "absent"

url

aliases: endpoint, cm_endpoint_url

string

The CM API endpoint URL and should include scheme, host, port, and API root path.

Mutually exclusive with host.

username

aliases: user

string / required

Username for access to the CM API endpoint.

verify_tls

boolean

Verify the TLS certificates for the CM API endpoint.

Choices:

  • false

  • true ← (default)

version

aliases: api_version

string

API version of the CM API endpoint.

Default: "True"

Attributes

Attribute

Support

Description

check_mode

Support: full

Can run in check_mode and return changed status prediction without modifying target, if not supported the action will be skipped.

diff_mode

Support: full

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

platform

Platforms: all

Target OS/families that can be operated against

See Also

See also

cloudera.cluster.host_template_info

Retrieve details regarding a cluster’s host templates.

Examples

- name: Provision a host template with a base role config group assignment
  cloudera.cluster.host_template:
    host: example.cloudera.com
    username: "jane_smith"
    password: "S&peR4Ec*re"
    cluster: "example_cluster"
    name: "Custom Template"
    role_config_groups:
      - type: DATANODE
        service: hdfs-service-1

- name: Provision a host template with a named (custom) role config group assignment
  cloudera.cluster.host_template:
    host: example.cloudera.com
    username: "jane_smith"
    password: "S&peR4Ec*re"
    cluster: "example_cluster"
    name: "Custom Template"
    role_config_groups:
      - name: custom-zk-server
        service: zookeeper-service-1

- name: Update (append) a role config group to a host template
  cloudera.cluster.host_template:
    host: example.cloudera.com
    username: "jane_smith"
    password: "S&peR4Ec*re"
    cluster: "example_cluster"
    name: "Custom Template"
    role_config_groups:
      - type: OZONE_DATANODE
        service: ozone-service-2

- name: Update (reset) the role config groups of a host template
  cloudera.cluster.host_template:
    host: example.cloudera.com
    username: "jane_smith"
    password: "S&peR4Ec*re"
    cluster: "example_cluster"
    name: "Custom Template"
    role_config_groups:
      - type: DATANODE
        service: hdfs-service-1
      - type: OZONE_DATANODE
        service: ozone-service-2
    purge: true

- name: Remove a host template
  cloudera.cluster.host_template:
    host: example.cloudera.com
    username: "jane_smith"
    password: "S&peR4Ec*re"
    cluster: "example_cluster"
    name: "Custom Template"
    state: "absent"

Return Values

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

Key

Description

host_template

dictionary

Details regarding the host template.

Returned: always

cluster_name

string

A reference to the enclosing cluster.

Returned: always

name

string

The name of the host template.

Returned: always

role_config_groups

list / elements=string

The role config groups associated with this host template, by role config group name.

Returned: always

Authors

  • Webster Mudge (@wmudge)

  • Ronald Suplina (@rsuplina)