cloudera.services.ssb_project module – Manage SSB projects

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

New in cloudera.services 1.0.0

Synopsis

  • Create, delete, or manage Cloudera SSB projects.

  • The module supports check_mode.

  • Project fields such as name, description, and mv_prefix are immutable after creation.

  • Updates to sync_source_config are not yet implemented.

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

description

string

A description of the project.

This field is immutable after project creation.

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: project_id

string

The unique identifier of the project.

This parameter is mutually exclusive with name.

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

mv_prefix

string

The materialized view prefix for the project.

This field is immutable after project creation.

name

string

The name of the project.

Required when creating a new project (state=present or state=synced).

This parameter is mutually exclusive with id.

This field is immutable after project creation.

page_size

aliases: default_page_size

integer

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

Default: 100

state

string

The desired state of the project.

Use present to create a project if it does not exist.

Use absent to delete a project.

Use synced to synchronize with external source (not yet implemented).

Choices:

  • "present" ← (default)

  • "absent"

  • "synced"

sync_source_config

dictionary

Configuration for the project’s sync source.

Updates to this field are not yet implemented.

allow_deletions

boolean

Whether to allow deletions from the sync source.

Choices:

  • false

  • true

branch

string

The branch to sync from the repository.

clone_url

string / required

The URL to clone the sync source repository.

credential

dictionary

Credentials for accessing the sync source.

password

string

The password for authentication.

Required when sync_source_config.credential.type=basic.

ssh_passphrase

string

The passphrase for the SSH key.

Optional when sync_source_config.credential.type=ssh.

ssh_private_key

string

The SSH private key for authentication.

Required when sync_source_config.credential.type=ssh.

ssh_public_key

string

The SSH public key for authentication.

Required when sync_source_config.credential.type=ssh.

type

string / required

The type of credential.

Use basic for username/password authentication.

Use ssh for SSH key-based authentication.

Choices:

  • "basic"

  • "ssh"

username

string

The username for authentication.

Required when sync_source_config.credential.type=basic.

type

string / required

The type of sync source.

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

- name: Create a minimal SSB project
  cloudera.services.ssb_project:
    name: "my-project"
    state: present

- name: Create an SSB project with description and mv_prefix
  cloudera.services.ssb_project:
    name: "my-project"
    description: "My analytics project"
    mv_prefix: "analytics_"
    state: present

- name: Ensure project exists (idempotent)
  cloudera.services.ssb_project:
    name: "my-project"
    state: present

- name: Delete an SSB project by name
  cloudera.services.ssb_project:
    name: "my-project"
    state: absent

- name: Delete an SSB project by id
  cloudera.services.ssb_project:
    id: "12345"
    state: absent

Return Values

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

Key

Description

project

dictionary

The project details.

Returned: when state is present

active_environment

integer

The ID of the active environment for the project.

Returned: when available

description

string

A description of the project.

Returned: when available

id

integer

The unique identifier of the project.

Returned: always

mv_prefix

string

The materialized view prefix for the project.

Returned: when available

name

string

The name of the project.

Returned: always

sync_source_config

dictionary

Configuration for the project’s sync source.

Returned: when available

allow_deletions

boolean

Whether to allow deletions from the sync source.

Returned: when available

branch

string

The branch to sync from the repository.

Returned: when available

clone_url

string

The URL to clone the sync source repository.

Returned: always

credential

dictionary

Credentials for accessing the sync source.

Returned: when available

password

string

The password for authentication.

Returned: when available

ssh_passphrase

string

The passphrase for the SSH key.

Returned: when available

ssh_private_key

string

The SSH private key for authentication.

Returned: when available

ssh_public_key

string

The SSH public key for authentication.

Returned: when available

type

string

The type of credential (e.g., password, ssh).

Returned: always

username

string

The username for authentication.

Returned: when available

type

string

The type of sync source.

Returned: always

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)