cloudera.services.ml_project_job_info module – Retrieve information about Cloudera Machine Learning (CML) project jobs

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

New in cloudera.services 1.0.0

Synopsis

  • Retrieve information about one or more Cloudera Machine Learning (CML) project jobs.

  • The module can list all jobs within a project or filter by a number of criteria.

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

creator

dictionary

Filter the jobs by creator details.

email

string

The email address of the creator.

name

string

The display name of the creator.

username

string

The username of the creator.

debug

aliases: debug_endpoints

boolean

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

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

string

The unique identifier of a single job to retrieve.

kernel

string

Filter the jobs by kernel.

name

string

Filter the jobs by name.

page_size

aliases: default_page_size

integer

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

Default: 100

paused

boolean

Filter the jobs by paused state.

Choices:

  • false

  • true

project_id

string

The unique identifier of the enclosing project.

Mutually exclusive with project_name.

project_name

string

The name of the enclosing project.

Mutually exclusive with project_id.

script

string

Filter the jobs by entrypoint script.

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: List all jobs within a project
  cloudera.services.ml_project_job_info:
    url: "https://ml-workspace.example.com"
    api_key: "{{ cml_api_key }}"
    project_name: my-project
  register: all_jobs

- name: Get a single job by id
  cloudera.services.ml_project_job_info:
    project_id: "{{ project_id }}"
    id: "{{ job_id }}"

- name: List jobs created by a user
  cloudera.services.ml_project_job_info:
    project_name: my-project
    creator:
      username: jdoe

- name: List paused jobs
  cloudera.services.ml_project_job_info:
    project_name: my-project
    paused: true

Return Values

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

Key

Description

jobs

list / elements=dictionary

List of CML jobs.

Returned: always

arguments

string

The command-line arguments passed to the job script.

Returned: when available

cpu

float

The vCPU allocated to the job.

Returned: when available

created_at

string

The timestamp when the job was created.

Returned: when available

creator

dictionary

Details of the user that created the job.

Returned: when available

environment

dictionary

The environment variables of the job.

Returned: when available

id

string

The unique identifier of the job.

Returned: always

kernel

string

The kernel for the job.

Returned: when available

kill_on_timeout

boolean

Whether the job is killed on timeout.

Returned: when available

memory

float

The RAM allocated to the job, in GB.

Returned: when available

name

string

The name of the job.

Returned: always

nvidia_gpu

integer

The count of Nvidia GPUs allocated to the job.

Returned: when available

parent_job_id

string

The identifier of the parent job that triggers this job.

Returned: when available

paused

boolean

Whether the job schedule is paused.

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

Returned: when available

runtime_identifier

string

The container runtime identifier for the job.

Returned: when available

schedule

string

The cron schedule for the job.

Returned: when available

script

string

The entrypoint script for the job.

Returned: when available

timeout

integer

The job timeout, in seconds.

Returned: when available

updated_at

string

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