cloudera.services.ml_project_model_build module – Manage a Cloudera Machine Learning (CML) project model build

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

New in cloudera.services 1.0.0

Synopsis

  • Create or delete a Cloudera Machine Learning (CML) project model build.

  • Model builds are immutable; an existing build is never updated in place. To change a build, create a new one or delete and recreate it.

  • The module supports check_mode.

Parameters

Parameter

Comments

addons

aliases: runtime_addon_ids, runtime_addon_identifiers

list / elements=string

A list of runtime addon identifiers for the build.

Requires runtime.

api_key

aliases: token

string / required

The CML API key (bearer token) used to authenticate to the Workspace API.

If not set, the value of the CML_API_KEY environment variable is used.

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.

comment

string

A comment for the build.

Applied only on build creation.

debug

aliases: debug_endpoints

boolean

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

Choices:

  • false ← (default)

  • true

file

aliases: file_path

string

The entrypoint file for the build.

Required when creating a build.

Mutually exclusive with id.

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

function

aliases: function_name

string

The entrypoint function within file for the build.

Required when creating a build.

http_agent

aliases: user_agent

string

The User-Agent string to send with API requests.

Default: "cloudera-services-module"

id

aliases: build_id

string

The unique identifier of an existing build.

Required to reference an existing build, e.g. to delete it.

Mutually exclusive with file.

kernel

string

The kernel to use for the build.

Requires runtime.

Choices:

  • "python3"

  • "python2"

  • "r"

model_id

string

The unique identifier of the enclosing model for the build.

Mutually exclusive with model_name.

model_name

string

The name of the enclosing model for the build.

Mutually exclusive with model_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

The unique identifier of the enclosing project for the model.

Mutually exclusive with project_name.

project_name

string

The name of the enclosing project for the model.

Mutually exclusive with project_id.

runtime

aliases: runtime_id, runtime_identifier

string

The container runtime identifier for the build.

Required when creating a build.

state

string

The declarative state of the build.

Choices:

  • "present" ← (default)

  • "absent"

timeout

aliases: timeout_seconds

integer

The timeout in seconds for any API requests.

Default: 60

url

aliases: endpoint, endpoint_url, workspace_url

string / required

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

If not set, the value of the CML_ENDPOINT environment variable is used.

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 model build
  cloudera.services.ml_project_model_build:
    url: "https://ml-workspace.example.com"
    api_key: "{{ cml_api_key }}"
    project_name: my-project
    model_name: fraud-detector
    file: predict.py
    function: predict
    runtime: "{{ runtime_id }}"
    comment: Initial build
    state: present

- name: Delete a model build
  cloudera.services.ml_project_model_build:
    project_id: "{{ project_id }}"
    model_id: "{{ model_id }}"
    id: "{{ build_id }}"
    state: absent

Return Values

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

Key

Description

build

dictionary

The CML model build details.

Returned: always

comment

string

The comment for the build.

Returned: when available

created_at

string

The timestamp when the build was created.

Returned: when available

creator

dictionary

Details of the user that created the build.

Returned: when available

crn

string

The CRN of the build.

Returned: when available

file_path

string

The entrypoint file for the build.

Returned: when available

function_name

string

The entrypoint function for the build.

Returned: when available

id

string

The unique identifier of the build.

Returned: always

kernel

string

The kernel for the build.

Returned: when available

model_id

string

The identifier of the enclosing model.

Returned: when available

project_id

string

The identifier of the enclosing project.

Returned: when available

runtime_addon_identifiers

list / elements=string

The runtime addon identifiers for the build.

Returned: when available

runtime_identifier

string

The container runtime identifier for the build.

Returned: when available

status

string

The status of the build.

Returned: when available

updated_at

string

The timestamp when the build 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)