cloudera.services.smm_kafka_topic_info module – Retrieve Kafka topic details from Streams Messaging Manager

Note

This module is part of the cloudera.services collection (version 1.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 git+https://github.com/cloudera-labs/cloudera.services.git.

To use it in a playbook, specify: cloudera.services.smm_kafka_topic_info.

New in cloudera.services 1.1.0

Synopsis

  • Retrieve details of a specific Kafka topic by name.

  • If no name is provided, retrieves all Kafka topics.

  • The module supports check_mode.

Parameters

Parameter

Comments

client_cert

path

The path to a client certificate for authenticating to the API endpoint.

client_key

path

The path to a client key for authenticating to the API endpoint.

debug

aliases: debug_endpoints

boolean

A flag to enable debug logging of the module’s execution.

Choices:

  • false ← (default)

  • true

force

boolean

A flag to force a refresh of the API request, ignoring any cached results.

Choices:

  • false ← (default)

  • true

force_basic_auth

boolean

A flag to force basic authentication for API requests.

Choices:

  • false ← (default)

  • true

http_agent

aliases: user_agent

string

The User-Agent string to send with API requests.

Default: "cloudera-services-module"

name

string

Name of the Kafka topic.

If the topic does not exist, an empty list is returned.

page_size

aliases: default_page_size

integer

The number of items to return per page in a paginated API response.

Default: 100

timeout

aliases: timeout_seconds

integer

The timeout in seconds for any API requests.

Default: 60

url

aliases: endpoint, endpoint_url

string / required

The base URL of the API endpoint, including the port if necessary.

url_password

string

The password for authenticating to the API endpoint.

url_username

string

The username for authenticating to the API endpoint.

use_gssapi

boolean

A flag to enable or disable GSSAPI authentication for API requests.

Choices:

  • false ← (default)

  • true

use_proxy

boolean

A flag to enable or disable the use of a proxy for API requests.

Choices:

  • false

  • true ← (default)

validate_certs

boolean

A flag to enable or disable SSL certificate validation for API requests.

Choices:

  • false

  • true ← (default)

Examples

# NOTE: Examples do not include connection and authentication fields

- name: Retrieve a Kafka topic by name
  cloudera.services.smm_kafka_topic_info:
    name: "orders"

- name: Retrieve all Kafka topics
  cloudera.services.smm_kafka_topic_info:

Return Values

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

Key

Description

topics

list / elements=dictionary

List of Kafka topics matching the given criteria, or all topics if no filter is applied.

Returned: always

configs

dictionary

Topic-level configuration overrides.

Settings inherited from the broker or built-in defaults are not included.

SMM can also report values it derives from a set config, such as retention.hours for retention.ms.

Returned: always

internal

boolean

Whether the topic is a Kafka internal topic.

Returned: always

name

string

Name of the topic.

Returned: always

partition_details

list / elements=dictionary

Leader, replicas and in-sync replicas of every partition.

Returned: always

isr

list / elements=dictionary

Brokers whose replica is in sync, in the same format as topics[].partition_details[].leader.

Returned: always

leader

dictionary

Broker currently leading the partition.

Returned: always

host

string

Broker host name.

Returned: always

id

integer

Broker ID.

Returned: always

is_controller

boolean

Whether the broker is the cluster controller.

Returned: always

port

integer

Broker port.

Returned: always

rack

string

Rack of the broker.

Returned: always

partition

integer

Partition number.

Returned: always

replicas

list / elements=dictionary

Brokers holding a replica of the partition, in the same format as topics[].partition_details[].leader.

Returned: always

partitions

integer

Number of partitions of the topic.

Returned: always

replication_factor

integer

Number of replicas of each partition.

Returned: when the topic has at least one partition

Authors

  • Ronald Suplina (@rsuplina)