cloudera.services.ssb_udf module – Manage SSB User Defined Functions (UDFs)
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_udf.
New in cloudera.services 1.0.0
Synopsis
Create, update, or delete Cloudera SSB User Defined Functions (UDFs).
UDFs allow custom functions to be used in SQL queries.
The module supports
check_mode.
Parameters
Parameter |
Comments |
|---|---|
The path to a client certificate for authenticating to the API endpoint. |
|
The path to a client key for authenticating to the API endpoint. |
|
The code for the UDF. Required when creating a new UDF. For JavaScript UDFs, use standard JavaScript function syntax. For Python UDFs, use standard Python function syntax. |
|
A flag to enable debug logging of the module’s execution. Choices:
|
|
Optional description of the UDF. |
|
A flag to force a refresh of the API request, ignoring any cached results. Choices:
|
|
A flag to force basic authentication for API requests. Choices:
|
|
The User-Agent string to send with API requests. Default: |
|
The unique identifier of the UDF. This parameter is mutually exclusive with This field is read-only and cannot be modified after creation. |
|
List of input parameter data types for the UDF. Required when creating a new UDF. For JavaScript UDFs, valid types are STRING, BOOLEAN, INT, BIGINT, FLOAT, DECIMAL, TIMESTAMP, DATE. For Python UDFs, use a list containing only STRING. |
|
The language of the UDF. Required when creating a new UDF. Supported values are Choices:
|
|
The name of the UDF. Required when creating a new UDF ( This parameter is mutually exclusive with |
|
The output data type of the UDF. Required when creating a new UDF. For JavaScript UDFs, valid types are STRING, BOOLEAN, INT, BIGINT, FLOAT, DECIMAL, TIMESTAMP, DATE. For Python UDFs, use PYTHON_INFERRED. |
|
The number of items to return per page in a paginated API response. Default: |
|
The unique identifier of the project. Required for all operations. |
|
The desired state of the UDF. Use Use Choices:
|
|
The timeout in seconds for any API requests. Default: |
|
The base URL of the API endpoint, including the port if necessary. |
|
The password for authenticating to the API endpoint. |
|
The username for authenticating to the API endpoint. |
|
A flag to enable or disable GSSAPI authentication for API requests. Choices:
|
|
A flag to enable or disable the use of a proxy for API requests. Choices:
|
|
A flag to enable or disable SSL certificate validation for API requests. Choices:
|
Examples
- name: Create a JavaScript UDF
cloudera.services.ssb_udf:
project_id: "12345"
name: "upperCase"
language: "JAVASCRIPT"
code: "function upperCase(str) { return str.toUpperCase(); }"
output_type: "STRING"
input_types:
- "STRING"
description: "Converts a string to uppercase"
state: present
- name: Create a Python UDF
cloudera.services.ssb_udf:
project_id: "12345"
name: "process_data"
language: "PYTHON"
code: |
def process_data(data):
return data.upper()
output_type: "PYTHON_INFERRED"
input_types:
- "STRING"
description: "Process data with Python"
state: present
- name: Update a UDF
cloudera.services.ssb_udf:
project_id: "12345"
name: "upperCase"
code: "function upperCase(str) { return str.toUpperCase() + '!'; }"
state: present
- name: Delete a UDF by name
cloudera.services.ssb_udf:
project_id: "12345"
name: "upperCase"
state: absent
- name: Delete a UDF by id
cloudera.services.ssb_udf:
project_id: "12345"
id: 42
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
|---|---|
Returns the captured REST API log. Returned: when supported |
|
Returns a list of each line of the captured REST API log. Returned: when supported |
|
The UDF details. Returned: when state is present |
|
The code for the UDF. Returned: when available |
|
The timestamp when the UDF was created. Returned: when available |
|
The description of the UDF. Returned: when available |
|
The unique identifier of the UDF. Returned: always |
|
List of input parameter data types. Returned: when available |
|
The language of the UDF (JAVASCRIPT or PYTHON). Returned: always |
|
The name of the UDF. Returned: always |
|
The output data type of the UDF. Returned: always |
|
The project identifier this UDF belongs to. Returned: when available |
|
The timestamp when the UDF was last updated. Returned: when available |