cloudera.services.ml_project_job module – Manage a Cloudera Machine Learning (CML) project job
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.
New in cloudera.services 1.0.0
Synopsis
Create, update, or delete a Cloudera Machine Learning (CML) project job.
The module supports
check_mode.
Parameters
Parameter |
Comments |
|---|---|
A list of runtime addon identifiers for the job. On update, the provided addons are merged with the job’s existing addons. |
|
The CML API key (bearer token) used to authenticate to the Workspace API. If not set, the value of the |
|
The command-line arguments passed to the job script. |
|
A list of file attachments (project file paths) delivered with job run notifications. Applied only on job creation. |
|
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 vCPU allocated to the job. |
|
A flag to enable debug logging of the module’s execution. Choices:
|
|
Environment variables to set on the job. On update, the provided variables are merged with the job’s existing variables. |
|
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 count of Nvidia GPUs allocated to the job. |
|
The User-Agent string to send with API requests. Default: |
|
The unique identifier of an existing job. Mutually exclusive with |
|
The job timeout, in seconds. |
|
The RAM allocated to the job, in GB. |
|
The number of items to return per page in a paginated API response. Default: |
|
The unique identifier of a parent job that triggers this job on completion. Mutually exclusive with |
|
Whether the job schedule is paused. Choices:
|
|
The unique identifier of the enclosing project for the job. Mutually exclusive with |
|
The name of the enclosing project for the job. Mutually exclusive with |
|
A list of email notification recipients for job runs. Applied only on job creation. |
|
The email address of the recipient. |
|
Whether to notify on job failure. Choices:
|
|
Whether to notify when a job is stopped. Choices:
|
|
Whether to notify on job success. Choices:
|
|
Whether to notify on job timeout. Choices:
|
|
The container runtime identifier for the job. Required on creation for projects whose default engine type is Mutually exclusive with |
|
The cron schedule for the job. Mutually exclusive with |
|
The entrypoint script for the job. Required when creating a job. |
|
The declarative state of the job. Choices:
|
|
The timeout in seconds for any API requests. Default: |
|
The base URL of the CML Workspace API endpoint, including the port if necessary. If not set, the value of the |
|
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 job
cloudera.services.ml_project_job:
url: "https://ml-workspace.example.com"
api_key: "{{ cml_api_key }}"
project_name: my-project
name: nightly-etl
script: etl.py
runtime: "{{ runtime_id }}"
schedule: "0 2 * * *"
env:
LOG_LEVEL: info
state: present
- name: Update a job's timeout
cloudera.services.ml_project_job:
project_id: "{{ project_id }}"
name: nightly-etl
job_timeout: 3600
kill: true
- name: Delete a job
cloudera.services.ml_project_job:
project_id: "{{ project_id }}"
id: "{{ job_id }}"
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
|---|---|
The CML job details. Returned: always |
|
The command-line arguments passed to the job script. Returned: when available |
|
The vCPU allocated to the job. Returned: when available |
|
The timestamp when the job was created. Returned: when available |
|
Details of the user that created the job. Returned: when available |
|
The environment variables of the job. Returned: when available |
|
The unique identifier of the job. Returned: always |
|
The kernel for the job. Returned: when available |
|
Whether the job is killed on timeout. Returned: when available |
|
The RAM allocated to the job, in GB. Returned: when available |
|
The name of the job. Returned: always |
|
The count of Nvidia GPUs allocated to the job. Returned: when available |
|
The identifier of the parent job that triggers this job. Returned: when available |
|
Whether the job schedule is paused. Returned: when available |
|
The identifier of the enclosing project. Returned: when available |
|
The runtime addon identifiers for the job. Returned: when available |
|
The container runtime identifier for the job. Returned: when available |
|
The cron schedule for the job. Returned: when available |
|
The entrypoint script for the job. Returned: when available |
|
The job timeout, in seconds. Returned: when available |
|
The timestamp when the job was last updated. Returned: when available |
|
Returns the captured REST API log. Returned: when supported |
|
Returns a list of each line of the captured REST API log. Returned: when supported |