cloudera.services.ssb_data_source module – Manage SSB project data sources

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.ssb_data_source.

New in cloudera.services 1.0.0

Synopsis

  • Create, update, delete, or manage Cloudera SSB project data sources.

  • Data sources define connections to external systems like Kafka, databases, etc.

  • 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.

custom_truststore

string

Path to a custom truststore file for secure connections to the data source.

debug

aliases: debug_endpoints

boolean

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

Choices:

  • false ← (default)

  • true

delete_dependents

boolean

Whether to delete dependent resources when deleting this data source.

Only applies when state=absent.

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"

id

aliases: data_source_id

string

The unique identifier of the data source.

This parameter is mutually exclusive with name.

This field is read-only and cannot be modified after creation.

name

string

The name of the data source.

Required when creating a new data source (state=present).

This parameter is mutually exclusive with id.

page_size

aliases: default_page_size

integer

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

Default: 100

project_id

string / required

The unique identifier of the project.

Required for all operations.

properties

dictionary

Dictionary of configuration properties for the data source.

Required properties depend on the data source type.

For example, KAFKA typically includes bootstrap.servers.

state

string

The desired state of the data source.

Use present to create or update a data source.

Use absent to delete a data source.

Choices:

  • "present" ← (default)

  • "absent"

timeout

aliases: timeout_seconds

integer

The timeout in seconds for any API requests.

Default: 60

type

string

The type of the data source (e.g., KAFKA, POSTGRES, MYSQL).

Required when creating a new data source.

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

- name: Create a minimal Kafka data source
  cloudera.services.ssb_data_source:
    project_id: "12345"
    name: "my-kafka-source"
    type: "KAFKA"
    properties:
      brokers: "localhost:9092"
    state: present

- name: Create a Kafka data source with SASL security
  cloudera.services.ssb_data_source:
    project_id: "12345"
    name: "my-kafka-source"
    type: "KAFKA"
    properties:
      brokers: "localhost:9092"
      protocol: "sasl"
      mechanism: "KERBEROS"
    state: present

- name: Create a data source with custom truststore
  cloudera.services.ssb_data_source:
    project_id: "12345"
    name: "secure-kafka-source"
    type: "KAFKA"
    properties:
      brokers: "kafka:9093"
    custom_truststore: "/path/to/truststore.jks"
    state: present

- name: Update data source properties
  cloudera.services.ssb_data_source:
    project_id: "12345"
    name: "my-kafka-source"
    type: "KAFKA"
    properties:
      brokers: "kafka:9092"
    state: present

- name: Delete a data source by name
  cloudera.services.ssb_data_source:
    project_id: "12345"
    name: "my-kafka-source"
    state: absent

- name: Delete a data source by id with dependents
  cloudera.services.ssb_data_source:
    project_id: "12345"
    id: 42
    delete_dependents: true
    state: absent

Return Values

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

Key

Description

data_source

dictionary

The data source details.

Returned: when state is present

created_at

string

The timestamp when the data source was created.

Returned: when available

custom_truststore

string

Path to custom truststore file.

Returned: when available

id

string

The unique identifier of the data source.

Returned: always

name

string

The name of the data source.

Returned: always

project_id

string

The project identifier this data source belongs to.

Returned: when available

properties

dictionary

Dictionary of configuration properties for the data source.

Returned: when available

type

string

The type of the data source.

Returned: always

updated_at

string

The timestamp when the data source was last updated.

Returned: when available

sdk_out

string

Returns the captured REST API log.

Returned: when supported

sdk_out_lines

list / elements=string

Returns a list of each line of the captured REST API log.

Returned: when supported

Authors

  • Webster Mudge (@wmudge)