cloudera.services.ml_project_file_info module – Retrieve information about files within a Cloudera Machine Learning (CML) project

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

New in cloudera.services 1.0.0

Synopsis

  • List the files and directories within a Cloudera Machine Learning (CML) project path.

  • Paths are relative to the project root (/home/cdsw).

  • 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

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"

page_size

aliases: default_page_size

integer

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

Default: 100

path

aliases: dir

string

The path within the project to list, relative to the project root.

Defaults to the project root.

Default: ""

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.

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 files at the project root
  cloudera.services.ml_project_file_info:
    url: "https://ml-workspace.example.com"
    api_key: "{{ cml_api_key }}"
    project_name: my-project
  register: root_files

- name: List files within a subdirectory
  cloudera.services.ml_project_file_info:
    project_id: "{{ project_id }}"
    path: src

Return Values

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

Key

Description

files

list / elements=dictionary

List of files and directories within the project path.

Returned: always

file_size

string

The size of the file in bytes.

Returned: when available

is_dir

boolean

Whether the path is a directory.

Returned: when available

path

string

The path of the file or directory, relative to the project root.

Returned: always

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)