cloudera.services.ml_project module – Create and delete Cloudera Machine Learning (CML) 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.ml_project.

New in cloudera.services 1.0.0

Synopsis

  • Create, update, or delete a Cloudera Machine Learning (CML) project.

  • The module supports check_mode.

Parameters

Parameter

Comments

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.

debug

aliases: debug_endpoints

boolean

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

Choices:

  • false ← (default)

  • true

desc

aliases: description

string

Description of the project.

env

aliases: environment_variables

dictionary

Environment variables accessible from scripts within the project.

On update, the provided variables are merged with the project’s existing variables.

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

git

aliases: git_url

string

URL of the Git repository.

Required for template=git. Only used when creating a project.

git_branch

aliases: git_ref

string

Branch for the Git repository.

Only used with template=git when creating a project.

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 an existing CML project.

Mutually exclusive with name.

memory

aliases: shared_memory_limit

integer

Additional shared memory limit, in MB, for each engine in the project.

name

aliases: project

string

The name of the CML project.

Required when creating a project.

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

parent

aliases: parent_project

string

Name of the parent project.

permission

aliases: organization_permission

string

Organization permission for the project.

runtime

aliases: default_project_engine_type

string

Default engine type of the CML project.

Choices:

  • "ml_runtime"

  • "legacy_engine"

state

string

The declarative state of the CML project.

Choices:

  • "present" ← (default)

  • "absent"

template

string

Template to use when creating the CML project.

Only used when creating a project.

Local files are not yet supported.

Choices:

  • "R"

  • "Python"

  • "PySpark"

  • "Scala"

  • "git"

  • "blank"

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)

visibility

string

Visibility of the project.

Choices:

  • "public"

  • "private"

  • "organization"

Examples

- name: Create a blank CML project
  cloudera.services.ml_project:
    url: "https://ml-workspace.example.com"
    api_key: "{{ cml_api_key }}"
    name: my-project
    desc: "Example project"
    state: present

- name: Create a project from a Git repository
  cloudera.services.ml_project:
    name: git-project
    template: git
    git: "https://github.com/example/repo.git"
    git_branch: main

- name: Update a project's environment variables
  cloudera.services.ml_project:
    name: my-project
    env:
      LOG_LEVEL: debug

- name: Delete a project by id
  cloudera.services.ml_project:
    id: abcd-1234-efgh-5678
    state: absent

Return Values

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

Key

Description

project

dictionary

The CML project details.

Returned: always

created_at

string

The timestamp when the project was created.

Returned: when available

creator

dictionary

Details of the user that created the project.

Returned: when available

email

string

The email address of the creator.

Returned: when available

name

string

The display name of the creator.

Returned: when available

username

string

The username of the creator.

Returned: when available

default_engine_type

string

The default engine type of the project.

Returned: when available

default_project_engine_type

string

The default engine type set when the project was created.

Returned: when available

description

string

The description of the project.

Returned: when available

environment

dictionary

The environment variables of the project.

Returned: when available

git_ref

string

The Git repository branch or reference backing the project.

Returned: when available

git_url

string

The URL of the Git repository backing the project.

Returned: when available

id

string

The unique identifier of the project.

Returned: always

name

string

The name of the project.

Returned: always

organization_permission

string

The organization permission for the project.

Returned: when available

parent_project

string

The name of the parent project.

Returned: when available

shared_memory_limit

integer

The additional shared memory limit, in MB, for each engine in the project.

Returned: when available

template

string

The template used to create the project.

Returned: when available

updated_at

string

The timestamp when the project was last updated.

Returned: when available

visibility

string

The visibility of the project.

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)